Support `functor (_: X) -> ..` and `functor X -> ..` in type signatures
Pretty-print the 'improved' form of functor in module signatures
Add tests for the functor type shortcuts