Dear camlers, A couple of libraries, like pgocaml for instance, define a functor over a (monadic) thread implementation, like in the following: module type Thread = sig type 'a t val return : 'a -> 'a t val bind : 'a t -> ('a -> 'b t) -> 'b t end module F(T : Thread) : sig val v : string -> string T.t end Is it possible to define F as a function (ie at the value level)? Cheers, Philippe.