include Ecaml__.Defun_intf.Defuninclude Ecaml__.Defun_intf.Open_on_rhs with type a t := a tval return : 'a ‑> 'a tval required : Ecaml.Symbol.t ‑> 'a Ecaml.Value.Type.t ‑> 'a tval optional : Ecaml.Symbol.t ‑> 'a Ecaml.Value.Type.t ‑> 'a option tval rest : Ecaml.Symbol.t ‑> 'a Ecaml.Value.Type.t ‑> 'a list tval optional_with_default : Ecaml.Symbol.t ‑> 'a ‑> 'a Ecaml.Value.Type.t ‑> 'a tmodule Let_syntax : sig ... endval defun : ?docstring:string ‑> ?interactive:string ‑> Core_kernel.Source_code_position.t ‑> 'a Ecaml.Value.Type.t ‑> Ecaml.Symbol.t ‑> 'a t ‑> unitval defun_nullary : ?docstring:string ‑> ?interactive:string ‑> Core_kernel.Source_code_position.t ‑> 'a Ecaml.Value.Type.t ‑> Ecaml.Symbol.t ‑> (unit ‑> 'a) ‑> unitval defun_nullary_nil : ?docstring:string ‑> ?interactive:string ‑> Core_kernel.Source_code_position.t ‑> Ecaml.Symbol.t ‑> (unit ‑> unit) ‑> unitval lambda : ?docstring:string ‑> ?interactive:string ‑> Core_kernel.Source_code_position.t ‑> 'a Ecaml.Value.Type.t ‑> 'a t ‑> Ecaml.Function.tval lambda_nullary : ?docstring:string ‑> ?interactive:string ‑> Core_kernel.Source_code_position.t ‑> 'a Ecaml.Value.Type.t ‑> (unit ‑> 'a) ‑> Ecaml.Function.tval lambda_nullary_nil : ?docstring:string ‑> ?interactive:string ‑> Core_kernel.Source_code_position.t ‑> (unit ‑> unit) ‑> Ecaml.Function.t