Module IR.FuncArg

Little abstraction over arguments + polymorphic payload

type 'arg_payload t = {
  1. exp : Exp.t;
  2. typ : Typ.t;
  3. arg_payload : 'arg_payload;
}
val typ : 'arg_payload t -> Typ.t
val exp : 'arg_payload t -> Exp.t
val arg_payload : 'arg_payload t -> 'arg_payload
val is_var : 'arg_payload t -> bool
val map_payload : f:('a -> 'b) -> 'a t -> 'b t
val get_var_exn : 'arg_payload t -> Ident.t