When making a program with a callback, how do you decide whether to use a function or a delegate? E.g, void foo(void function(int) consume) { ... } or void foo(void delegate(int) consume) { ... }