Deep function type checking

Can parse 'Reduce' which takes a function argument.