Codegen.Gentype ('a, 'b) comp = ('a, 'b) Result.ttype 'a fn = 'a outerfntype implementation = unit -> Interface.tval implement : Interface.description -> implementationval returning : 'a Idl.Param.t -> 'b Idl.Error.t -> ('a, 'b) Result.t outerfnval (@->) : 'a Idl.Param.t -> 'b outerfn -> ('a -> 'b) outerfn