Module Functions

module Functions: sig .. end

val f1 : int -> y:int -> int
val f2 : string -> y:int -> int option -> int

There's no way to refer to the third arg in documentation.

x : first arg
y : second arg
val f3 : int -> int -> int -> int
x : first arg
y : second arg
z : third arg
val f4 : ?x:int -> ?y:int -> ?z:int -> unit -> int

This output is a bit weird: we should probably refer to the third argument as z, its label, rather than blah, its internally-bound pattern.

x : first arg
y : second arg
blah : third arg
class m : object .. end