sig
  type 'a t = 'a OASISSchema_intern.t
  val new_field :
    'a OASISSchema.t ->
    OASISPlugin.all_t ->
    OASISTypes.name ->
    ?default:'b ->
    'b OASISValues.t ->
    (unit -> string) ->
    'c OASISPlugin.prop -> ('a -> 'c -> 'b) -> PropList.Data.t -> 'b
  val new_field_conditional :
    'a OASISSchema.t ->
    OASISPlugin.all_t ->
    OASISTypes.name ->
    ?default:'b ->
    'b OASISValues.t ->
    (unit -> string) ->
    'c OASISPlugin.prop ->
    ('a -> 'c -> 'b OASISExpr.choices) ->
    PropList.Data.t -> 'b OASISExpr.choices
end