sig
  val create :
    ?schema:('a, 'b) PropList.Schema.t ->
    ?name:PropList.name ->
    ?parse:(?context:'-> string -> 'c) ->
    ?print:('-> string) ->
    ?default:'->
    ?update:(?context:'-> '-> '-> 'c) ->
    ?help:(unit -> string) -> '-> PropList.Data.t -> 'c
end