Hi I was thinking about the syntax for a function taking a module as a parameter, i.e., let f (module M : S) = ... Off the top of my head I couldn't think of anything that would prevent the syntax from being like let f (M : S) = ... I can't think of ways in which this would be ambiguously parsed, so I was just wondering what led to the choice of requiring the "module" keyword in this case. Cheers, Andre