sig
  val iter :
    Response.Contract_data.t ->
    contract:((Response.Contract_data.t, Raw_contract.t)
              Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> Raw_contract.t -> unit) ->
    market_name:((Response.Contract_data.t, string)
                 Fieldslib.Field.readonly_t ->
                 Response.Contract_data.t -> string -> unit) ->
    trading_class:((Response.Contract_data.t, string)
                   Fieldslib.Field.readonly_t ->
                   Response.Contract_data.t -> string -> unit) ->
    min_tick:((Response.Contract_data.t, float) Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> float -> unit) ->
    order_types:((Response.Contract_data.t, string list)
                 Fieldslib.Field.readonly_t ->
                 Response.Contract_data.t -> string list -> unit) ->
    valid_exchanges:((Response.Contract_data.t, Exchange.t list)
                     Fieldslib.Field.readonly_t ->
                     Response.Contract_data.t -> Exchange.t list -> unit) ->
    price_magnifier:((Response.Contract_data.t, int)
                     Fieldslib.Field.readonly_t ->
                     Response.Contract_data.t -> int -> unit) ->
    underlying_id:((Response.Contract_data.t, int) Fieldslib.Field.readonly_t ->
                   Response.Contract_data.t -> int -> unit) ->
    long_name:((Response.Contract_data.t, string) Fieldslib.Field.readonly_t ->
               Response.Contract_data.t -> string -> unit) ->
    contract_month:((Response.Contract_data.t, string)
                    Fieldslib.Field.readonly_t ->
                    Response.Contract_data.t -> string -> unit) ->
    industry:((Response.Contract_data.t, string) Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> string -> unit) ->
    category:((Response.Contract_data.t, string) Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> string -> unit) ->
    subcategory:((Response.Contract_data.t, string)
                 Fieldslib.Field.readonly_t ->
                 Response.Contract_data.t -> string -> unit) ->
    time_zone:((Response.Contract_data.t, Core.Std.Time.Zone.t option)
               Fieldslib.Field.readonly_t ->
               Response.Contract_data.t ->
               Core.Std.Time.Zone.t option -> unit) ->
    trading_hours:((Response.Contract_data.t, Trading_times.t list)
                   Fieldslib.Field.readonly_t ->
                   Response.Contract_data.t -> Trading_times.t list -> unit) ->
    liquid_hours:((Response.Contract_data.t, Trading_times.t list)
                  Fieldslib.Field.readonly_t ->
                  Response.Contract_data.t -> Trading_times.t list -> unit) ->
    unit
  val fold :
    Response.Contract_data.t ->
    init:'acc__ ->
    contract:('acc__ ->
              (Response.Contract_data.t, Raw_contract.t)
              Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> Raw_contract.t -> 'acc__) ->
    market_name:('acc__ ->
                 (Response.Contract_data.t, string)
                 Fieldslib.Field.readonly_t ->
                 Response.Contract_data.t -> string -> 'acc__) ->
    trading_class:('acc__ ->
                   (Response.Contract_data.t, string)
                   Fieldslib.Field.readonly_t ->
                   Response.Contract_data.t -> string -> 'acc__) ->
    min_tick:('acc__ ->
              (Response.Contract_data.t, float) Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> float -> 'acc__) ->
    order_types:('acc__ ->
                 (Response.Contract_data.t, string list)
                 Fieldslib.Field.readonly_t ->
                 Response.Contract_data.t -> string list -> 'acc__) ->
    valid_exchanges:('acc__ ->
                     (Response.Contract_data.t, Exchange.t list)
                     Fieldslib.Field.readonly_t ->
                     Response.Contract_data.t -> Exchange.t list -> 'acc__) ->
    price_magnifier:('acc__ ->
                     (Response.Contract_data.t, int)
                     Fieldslib.Field.readonly_t ->
                     Response.Contract_data.t -> int -> 'acc__) ->
    underlying_id:('acc__ ->
                   (Response.Contract_data.t, int) Fieldslib.Field.readonly_t ->
                   Response.Contract_data.t -> int -> 'acc__) ->
    long_name:('acc__ ->
               (Response.Contract_data.t, string) Fieldslib.Field.readonly_t ->
               Response.Contract_data.t -> string -> 'acc__) ->
    contract_month:('acc__ ->
                    (Response.Contract_data.t, string)
                    Fieldslib.Field.readonly_t ->
                    Response.Contract_data.t -> string -> 'acc__) ->
    industry:('acc__ ->
              (Response.Contract_data.t, string) Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> string -> 'acc__) ->
    category:('acc__ ->
              (Response.Contract_data.t, string) Fieldslib.Field.readonly_t ->
              Response.Contract_data.t -> string -> 'acc__) ->
    subcategory:('acc__ ->
                 (Response.Contract_data.t, string)
                 Fieldslib.Field.readonly_t ->
                 Response.Contract_data.t -> string -> 'acc__) ->
    time_zone:('acc__ ->
               (Response.Contract_data.t, Core.Std.Time.Zone.t option)
               Fieldslib.Field.readonly_t ->
               Response.Contract_data.t ->
               Core.Std.Time.Zone.t option -> 'acc__) ->
    trading_hours:('acc__ ->
                   (Response.Contract_data.t, Trading_times.t list)
                   Fieldslib.Field.readonly_t ->
                   Response.Contract_data.t -> Trading_times.t list -> 'acc__) ->
    liquid_hours:('acc__ ->
                  (Response.Contract_data.t, Trading_times.t list)
                  Fieldslib.Field.readonly_t ->
                  Response.Contract_data.t -> Trading_times.t list -> 'acc__) ->
    'acc__
end