Module Ecaml__Defun.Returns

An Returns.t states the return type of a function and whether the function returns a value of that type directly or via a Deferred.t. An (a, a) Returns.t means that the function returns a directly. An (a, a Deferred.t) Returns.t means that the function returns a via an a Deferred.t.

type (_, _) t =
| Returns : 'a Ecaml__.Import.Value.Type.t -> ('a'a) t
| Returns_deferred : 'a Ecaml__.Import.Value.Type.t -> ('a'a Async_kernel.Deferred.t) t
val sexp_of_t : ('v_x__001_ -> Ppx_sexp_conv_lib.Sexp.t) -> ('v_x__002_ -> Ppx_sexp_conv_lib.Sexp.t) -> ('v_x__001_'v_x__002_) t -> Ppx_sexp_conv_lib.Sexp.t
val returns : ('a'b) Ecaml.Sync_or_async.t -> 'a Ecaml__.Import.Value.Type.t -> ('a'b) t