sig
  val names : string list
  val kill_index :
    ([< `Read | `Set_and_create ], Execution_context.t, Kill_index.t)
    Fieldslib.Field.t_with_perm
  val backtrace_history :
    ([< `Read | `Set_and_create ], Execution_context.t,
     Core.Std.Backtrace.t list)
    Fieldslib.Field.t_with_perm
  val priority :
    ([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
    Fieldslib.Field.t_with_perm
  val monitor :
    ([< `Read | `Set_and_create ], Execution_context.t,
     Execution_context.Monitor.t)
    Fieldslib.Field.t_with_perm
  val make_creator :
    monitor:(([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm ->
             '-> ('-> Execution_context.Monitor.t) * 'c) ->
    priority:(([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> '-> ('-> Priority.t) * 'd) ->
    backtrace_history:(([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm ->
                       '-> ('-> Core.Std.Backtrace.t list) * 'e) ->
    kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm ->
                '-> ('-> Kill_index.t) * 'f) ->
    '-> ('-> Execution_context.t) * 'f
  val create :
    monitor:Execution_context.Monitor.t ->
    priority:Priority.t ->
    backtrace_history:Core.Std.Backtrace.t list ->
    kill_index:Kill_index.t -> Execution_context.t
  val map :
    monitor:(([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm -> Execution_context.Monitor.t) ->
    priority:(([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> Priority.t) ->
    backtrace_history:(([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm ->
                       Core.Std.Backtrace.t list) ->
    kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> Kill_index.t) ->
    Execution_context.t
  val iter :
    monitor:(([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm -> 'a) ->
    priority:(([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> 'b) ->
    backtrace_history:(([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm -> 'c) ->
    kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> 'd) ->
    'd
  val fold :
    init:'->
    monitor:('->
             ([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm -> 'b) ->
    priority:('->
              ([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> 'c) ->
    backtrace_history:('->
                       ([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm -> 'd) ->
    kill_index:('->
                ([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> 'e) ->
    'e
  val map_poly :
    ([< `Read | `Set_and_create ], Execution_context.t, 'a)
    Fieldslib.Field.user -> 'a list
  val for_all :
    monitor:(([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm -> bool) ->
    priority:(([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> bool) ->
    backtrace_history:(([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm -> bool) ->
    kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> bool) ->
    bool
  val exists :
    monitor:(([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm -> bool) ->
    priority:(([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> bool) ->
    backtrace_history:(([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm -> bool) ->
    kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> bool) ->
    bool
  val to_list :
    monitor:(([< `Read | `Set_and_create ], Execution_context.t,
              Execution_context.Monitor.t)
             Fieldslib.Field.t_with_perm -> 'a) ->
    priority:(([< `Read | `Set_and_create ], Execution_context.t, Priority.t)
              Fieldslib.Field.t_with_perm -> 'a) ->
    backtrace_history:(([< `Read | `Set_and_create ], Execution_context.t,
                        Core.Std.Backtrace.t list)
                       Fieldslib.Field.t_with_perm -> 'a) ->
    kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                 Kill_index.t)
                Fieldslib.Field.t_with_perm -> 'a) ->
    'a list
  module Direct :
    sig
      val iter :
        Execution_context.t ->
        monitor:(([< `Read | `Set_and_create ], Execution_context.t,
                  Execution_context.Monitor.t)
                 Fieldslib.Field.t_with_perm ->
                 Execution_context.t -> Execution_context.Monitor.t -> 'a) ->
        priority:(([< `Read | `Set_and_create ], Execution_context.t,
                   Priority.t)
                  Fieldslib.Field.t_with_perm ->
                  Execution_context.t -> Priority.t -> 'b) ->
        backtrace_history:(([< `Read | `Set_and_create ],
                            Execution_context.t, Core.Std.Backtrace.t list)
                           Fieldslib.Field.t_with_perm ->
                           Execution_context.t ->
                           Core.Std.Backtrace.t list -> 'c) ->
        kill_index:(([< `Read | `Set_and_create ], Execution_context.t,
                     Kill_index.t)
                    Fieldslib.Field.t_with_perm ->
                    Execution_context.t -> Kill_index.t -> 'd) ->
        'd
      val fold :
        Execution_context.t ->
        init:'->
        monitor:('->
                 ([< `Read | `Set_and_create ], Execution_context.t,
                  Execution_context.Monitor.t)
                 Fieldslib.Field.t_with_perm ->
                 Execution_context.t -> Execution_context.Monitor.t -> 'b) ->
        priority:('->
                  ([< `Read | `Set_and_create ], Execution_context.t,
                   Priority.t)
                  Fieldslib.Field.t_with_perm ->
                  Execution_context.t -> Priority.t -> 'c) ->
        backtrace_history:('->
                           ([< `Read | `Set_and_create ],
                            Execution_context.t, Core.Std.Backtrace.t list)
                           Fieldslib.Field.t_with_perm ->
                           Execution_context.t ->
                           Core.Std.Backtrace.t list -> 'd) ->
        kill_index:('->
                    ([< `Read | `Set_and_create ], Execution_context.t,
                     Kill_index.t)
                    Fieldslib.Field.t_with_perm ->
                    Execution_context.t -> Kill_index.t -> 'e) ->
        'e
    end
end