module Fields: sig .. end
val names : string list
val record_backtraces : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
       Fieldslib.Field.t_with_perm
val max_num_jobs_per_priority_per_cycle : ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
        Import.Max_num_jobs_per_priority_per_cycle.t)
       Fieldslib.Field.t_with_perm
val check_invariants : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
       Fieldslib.Field.t_with_perm
val thread_safe_finalizer_hook : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, unit -> unit)
       Fieldslib.Field.t_with_perm
val finalizer_jobs : ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
       Fieldslib.Field.t_with_perm
val events : ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
        Job.t Core.Std.Timing_wheel.t)
       Fieldslib.Field.t_with_perm
val last_cycle_num_jobs : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
       Fieldslib.Field.t_with_perm
val last_cycle_time : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Core.Std.Time.Span.t)
       Fieldslib.Field.t_with_perm
val run_every_cycle_start : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, (unit -> unit) list)
       Fieldslib.Field.t_with_perm
val cycle_start : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Core.Std.Time.t)
       Fieldslib.Field.t_with_perm
val cycle_count : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
       Fieldslib.Field.t_with_perm
val num_jobs_run : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
       Fieldslib.Field.t_with_perm
val global_kill_index : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Kill_index.t)
       Fieldslib.Field.t_with_perm
val uncaught_exn : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Core.Std.Error.t option)
       Fieldslib.Field.t_with_perm
val current_execution_context : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Execution_context.t)
       Fieldslib.Field.t_with_perm
val main_execution_context : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Execution_context.t)
       Fieldslib.Field.t_with_perm
val jobs : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
       Fieldslib.Field.t_with_perm
val check_access : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, (unit -> unit) option)
       Fieldslib.Field.t_with_perm
val make_creator : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm ->
                     'a -> ('b -> (unit -> unit) option) * 'c) ->
       jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> 'c -> ('b -> Jobs.t) * 'd) ->
       main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm ->
                               'd -> ('b -> Execution_context.t) * 'e) ->
       current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm ->
                                  'e -> ('b -> Execution_context.t) * 'f) ->
       uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm ->
                     'f -> ('b -> Core.Std.Error.t option) * 'g) ->
       global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm ->
                          'g -> ('b -> Kill_index.t) * 'h) ->
       num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> 'h -> ('b -> int) * 'i) ->
       cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> 'i -> ('b -> int) * 'j) ->
       cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm ->
                    'j -> ('b -> Core.Std.Time.t) * 'k) ->
       run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm ->
                              'k -> ('b -> (unit -> unit) list) * 'l) ->
       last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm ->
                        'l -> ('b -> Core.Std.Time.Span.t) * 'm) ->
       last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'm -> ('b -> int) * 'n) ->
       events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm ->
               'n -> ('b -> Job.t Core.Std.Timing_wheel.t) * 'o) ->
       finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm ->
                       'o ->
                       ('b ->
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque) *
                       'p) ->
       thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm ->
                                   'p -> ('b -> unit -> unit) * 'q) ->
       check_invariants:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> 'q -> ('b -> bool) * 'r) ->
       max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm ->
                                            'r ->
                                            ('b ->
                                             Import.Max_num_jobs_per_priority_per_cycle.t) *
                                            's) ->
       record_backtraces:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 's -> ('b -> bool) * 't) ->
       'a -> ('b -> Raw_scheduler.T.t) * 't
val create : check_access:(unit -> unit) option ->
       jobs:Jobs.t ->
       main_execution_context:Execution_context.t ->
       current_execution_context:Execution_context.t ->
       uncaught_exn:Core.Std.Error.t option ->
       global_kill_index:Kill_index.t ->
       num_jobs_run:int ->
       cycle_count:int ->
       cycle_start:Core.Std.Time.t ->
       run_every_cycle_start:(unit -> unit) list ->
       last_cycle_time:Core.Std.Time.Span.t ->
       last_cycle_num_jobs:int ->
       events:Job.t Core.Std.Timing_wheel.t ->
       finalizer_jobs:Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque ->
       thread_safe_finalizer_hook:(unit -> unit) ->
       check_invariants:bool ->
       max_num_jobs_per_priority_per_cycle:Import.Max_num_jobs_per_priority_per_cycle.t ->
       record_backtraces:bool -> Raw_scheduler.T.t
val map : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm -> (unit -> unit) option) ->
       jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> Jobs.t) ->
       main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm -> Execution_context.t) ->
       current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm -> Execution_context.t) ->
       uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm -> Core.Std.Error.t option) ->
       global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm -> Kill_index.t) ->
       num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> int) ->
       cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> int) ->
       cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm -> Core.Std.Time.t) ->
       run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm -> (unit -> unit) list) ->
       last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm -> Core.Std.Time.Span.t) ->
       last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> int) ->
       events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm -> Job.t Core.Std.Timing_wheel.t) ->
       finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm ->
                       Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque) ->
       thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm -> unit -> unit) ->
       check_invariants:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> bool) ->
       max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm ->
                                            Import.Max_num_jobs_per_priority_per_cycle.t) ->
       record_backtraces:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       Raw_scheduler.T.t
val iter : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm -> 'a) ->
       jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> 'b) ->
       main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm -> 'c) ->
       current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm -> 'd) ->
       uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm -> 'e) ->
       global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm -> 'f) ->
       num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> 'g) ->
       cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> 'h) ->
       cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm -> 'i) ->
       run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm -> 'j) ->
       last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm -> 'k) ->
       last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'l) ->
       events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm -> 'm) ->
       finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm -> 'n) ->
       thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm -> 'o) ->
       check_invariants:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> 'p) ->
       max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm -> 'q) ->
       record_backtraces:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'r) ->
       'r
val fold : init:'a ->
       check_access:('a ->
                     ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm -> 'b) ->
       jobs:('b ->
             ([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> 'c) ->
       main_execution_context:('c ->
                               ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm -> 'd) ->
       current_execution_context:('d ->
                                  ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm -> 'e) ->
       uncaught_exn:('e ->
                     ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm -> 'f) ->
       global_kill_index:('f ->
                          ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm -> 'g) ->
       num_jobs_run:('g ->
                     ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> 'h) ->
       cycle_count:('h ->
                    ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> 'i) ->
       cycle_start:('i ->
                    ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm -> 'j) ->
       run_every_cycle_start:('j ->
                              ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm -> 'k) ->
       last_cycle_time:('k ->
                        ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm -> 'l) ->
       last_cycle_num_jobs:('l ->
                            ([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'm) ->
       events:('m ->
               ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm -> 'n) ->
       finalizer_jobs:('n ->
                       ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm -> 'o) ->
       thread_safe_finalizer_hook:('o ->
                                   ([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm -> 'p) ->
       check_invariants:('p ->
                         ([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> 'q) ->
       max_num_jobs_per_priority_per_cycle:('q ->
                                            ([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm -> 'r) ->
       record_backtraces:('r ->
                          ([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 's) ->
       's
val map_poly : ([< `Read | `Set_and_create ], Raw_scheduler.T.t, 'a) Fieldslib.Field.user ->
       'a list
val for_all : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm -> bool) ->
       jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> bool) ->
       main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm -> bool) ->
       current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm -> bool) ->
       uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm -> bool) ->
       global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm -> bool) ->
       num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> bool) ->
       cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> bool) ->
       cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm -> bool) ->
       run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm -> bool) ->
       last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm -> bool) ->
       last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> bool) ->
       events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm -> bool) ->
       finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm -> bool) ->
       thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm -> bool) ->
       check_invariants:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> bool) ->
       max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm -> bool) ->
       record_backtraces:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       bool
val exists : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm -> bool) ->
       jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> bool) ->
       main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm -> bool) ->
       current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm -> bool) ->
       uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm -> bool) ->
       global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm -> bool) ->
       num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> bool) ->
       cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> bool) ->
       cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm -> bool) ->
       run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm -> bool) ->
       last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm -> bool) ->
       last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> bool) ->
       events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm -> bool) ->
       finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm -> bool) ->
       thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm -> bool) ->
       check_invariants:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> bool) ->
       max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm -> bool) ->
       record_backtraces:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> bool) ->
       bool
val to_list : check_access:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      (unit -> unit) option)
                     Fieldslib.Field.t_with_perm -> 'a) ->
       jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, Jobs.t)
             Fieldslib.Field.t_with_perm -> 'a) ->
       main_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                Execution_context.t)
                               Fieldslib.Field.t_with_perm -> 'a) ->
       current_execution_context:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                   Execution_context.t)
                                  Fieldslib.Field.t_with_perm -> 'a) ->
       uncaught_exn:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                      Core.Std.Error.t option)
                     Fieldslib.Field.t_with_perm -> 'a) ->
       global_kill_index:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                           Kill_index.t)
                          Fieldslib.Field.t_with_perm -> 'a) ->
       num_jobs_run:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                     Fieldslib.Field.t_with_perm -> 'a) ->
       cycle_count:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                    Fieldslib.Field.t_with_perm -> 'a) ->
       cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                     Core.Std.Time.t)
                    Fieldslib.Field.t_with_perm -> 'a) ->
       run_every_cycle_start:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                               (unit -> unit) list)
                              Fieldslib.Field.t_with_perm -> 'a) ->
       last_cycle_time:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                         Core.Std.Time.Span.t)
                        Fieldslib.Field.t_with_perm -> 'a) ->
       last_cycle_num_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, int)
                            Fieldslib.Field.t_with_perm -> 'a) ->
       events:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                Job.t Core.Std.Timing_wheel.t)
               Fieldslib.Field.t_with_perm -> 'a) ->
       finalizer_jobs:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                        Job.t Core.Std.Thread_safe_queue.t Core.Std.sexp_opaque)
                       Fieldslib.Field.t_with_perm -> 'a) ->
       thread_safe_finalizer_hook:(([< `Read | `Set_and_create ], Raw_scheduler.T.t,
                                    unit -> unit)
                                   Fieldslib.Field.t_with_perm -> 'a) ->
       check_invariants:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                         Fieldslib.Field.t_with_perm -> 'a) ->
       max_num_jobs_per_priority_per_cycle:(([< `Read | `Set_and_create ],
                                             Raw_scheduler.T.t,
                                             Import.Max_num_jobs_per_priority_per_cycle.t)
                                            Fieldslib.Field.t_with_perm -> 'a) ->
       record_backtraces:(([< `Read | `Set_and_create ], Raw_scheduler.T.t, bool)
                          Fieldslib.Field.t_with_perm -> 'a) ->
       'a list
module Direct: sig .. end