Allow `functor (X:S) (Y:S) -> ..` in module impl and sigs
Add tests for the previous commit