sig
  val names : string list
  val price : (Tws.Close.t, Price.t) Fieldslib.Field.readonly_t
  val stamp : (Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t
  val fold :
    init:'acc__ ->
    stamp:('acc__ ->
           (Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t ->
           'acc__) ->
    price:('acc__ ->
           (Tws.Close.t, Price.t) Fieldslib.Field.readonly_t -> 'acc__) ->
    'acc__
  val iter :
    stamp:((Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t -> unit) ->
    price:((Tws.Close.t, Price.t) Fieldslib.Field.readonly_t -> unit) -> unit
  val for_all :
    stamp:((Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t -> bool) ->
    price:((Tws.Close.t, Price.t) Fieldslib.Field.readonly_t -> bool) -> bool
  val exists :
    stamp:((Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t -> bool) ->
    price:((Tws.Close.t, Price.t) Fieldslib.Field.readonly_t -> bool) -> bool
  val to_list :
    stamp:((Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t ->
           'elem__) ->
    price:((Tws.Close.t, Price.t) Fieldslib.Field.readonly_t -> 'elem__) ->
    'elem__ list
  val map_poly :
    ([< `Read ], Tws.Close.t, 'x0) Fieldslib.Field.user -> 'x0 list
  module Direct :
    sig
      val iter :
        Tws.Close.t ->
        stamp:((Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t ->
               Tws.Close.t -> Core.Std.Time.t -> unit) ->
        price:((Tws.Close.t, Price.t) Fieldslib.Field.readonly_t ->
               Tws.Close.t -> Price.t -> unit) ->
        unit
      val fold :
        Tws.Close.t ->
        init:'acc__ ->
        stamp:('acc__ ->
               (Tws.Close.t, Core.Std.Time.t) Fieldslib.Field.readonly_t ->
               Tws.Close.t -> Core.Std.Time.t -> 'acc__) ->
        price:('acc__ ->
               (Tws.Close.t, Price.t) Fieldslib.Field.readonly_t ->
               Tws.Close.t -> Price.t -> 'acc__) ->
        'acc__
    end
end