I often see functor application written like this:
module F(A:InSig) = struct ... end
I used to think this is at odds with the rest of the language since function application works without parentheses and is curried, and functors with several arguments are also curried. So I would write
module F (A:InSig) = struct ... end module G (A:In1) (B:In2) = struct ... end
where the second case to me looks better than
G(A)(B). Is there a reason to prefer the no-space parentheses style rather than the curried style?