Yes! Matías Giovannini has a blog post showing how to do just that:On 22 October 2012 23:09, Philippe Veber <philippe.veber@gmail.com> wrote:
> 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)?
http://alaska-kamtchatka.blogspot.co.uk/2011/09/higher-order-fun.html