12345678910111213141516171819202122232425262728293031323334353637383940414243open!Ppxlibopen!Stdppxtype('context,'output)t='context->location->type_name:string->params:core_typelist->'outputtypeparts={pattern:pattern;expression:expression;type_:core_type}moduletypeX=sigtype('a,'b)expander:=('a,'b)ttypetvalboxed:(t,parts)expandervalunboxed:(t,parts)expanderendmoduletypeS=sigtype('a,'b)expander:=('a,'b)ttypetvalstructure_items:portable:bool->(t,structure_itemlist)expandervalsignature_items:portable:bool->(t,signature_itemlist)expanderendmoduletypeExpander=sigtypenonrec('a,'b)t=('a,'b)ttypenonrecparts=partsmoduletypeS=S(** [value_name prefix ~type_name] is the value name generated by [[@@deriving box]] for
a value with basename [prefix] on [type_name], including any ppx_template suffix.
For example, [value_name "box" ~type_name:"foo__local"] is ["box_foo__local"], while
[value_name "box" ~type_name:"t__local"] is ["box__local"]. *)valvalue_name:string->type_name:string->stringmoduleMake:functor(X:X)->Swithtypet=X.tend