package ecaml
Module 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_value.Value.Type.t -> ('a, 'a) t| Returns_deferred : 'a Ecaml_value.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.tval returns :
('a, 'b) Sync_or_async.t ->
'a Ecaml_value.Value.Type.t ->
('a, 'b) t