module Fields: sig .. end
val names : string list
val events : (Raw_scheduler.T.t,
        Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t Events.t)
       Fieldslib.Field.t
val cycle_num_jobs : (Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t
val last_cycle_num_jobs : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val cycle_times : (Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
       Fieldslib.Field.t
val last_cycle_time : (Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t
val cycle_start : (Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t
val cycle_count : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val num_jobs_run : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val uncaught_exn : (Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t
val max_num_jobs_per_priority_per_cycle : (Raw_scheduler.T.t, int) Fieldslib.Field.t
val current_execution_context : (Raw_scheduler.T.t, Raw_scheduler.Execution_context.t) Fieldslib.Field.t
val main_execution_context : (Raw_scheduler.T.t, Raw_scheduler.Execution_context.t) Fieldslib.Field.t
val jobs : (Raw_scheduler.T.t,
        Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
       Fieldslib.Field.t
val check_access : (Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t
val make_creator : check_access:((Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     'a -> ('b -> (unit -> unit) option) * 'c) ->
       jobs:((Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t ->
             'c ->
             ('b ->
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque) *
             'd) ->
       main_execution_context:((Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t ->
                               'd -> ('b -> Raw_scheduler.Execution_context.t) * 'e) ->
       current_execution_context:((Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t ->
                                  'e ->
                                  ('b -> Raw_scheduler.Execution_context.t) * 'f) ->
       max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t ->
                                            'f -> ('b -> int) * 'g) ->
       uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     'g -> ('b -> Core.Std.Error.t option) * 'h) ->
       num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
                     'h -> ('b -> int) * 'i) ->
       cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
                    'i -> ('b -> int) * 'j) ->
       cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
                    'j -> ('b -> Core.Std.Time.t) * 'k) ->
       last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        'k -> ('b -> Core.Std.Time.Span.t) * 'l) ->
       cycle_times:((Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t ->
                    'l -> ('b -> Core.Std.Time.Span.t Raw_scheduler.tail) * 'm) ->
       last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t ->
                            'm -> ('b -> int) * 'n) ->
       cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       'n -> ('b -> int Raw_scheduler.tail) * 'o) ->
       events:((Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t ->
               'o ->
               ('b ->
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t) *
               'p) ->
       'a -> ('b -> Raw_scheduler.T.t) * 'p
val create : check_access:(unit -> unit) option ->
       jobs:Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque ->
       main_execution_context:Raw_scheduler.Execution_context.t ->
       current_execution_context:Raw_scheduler.Execution_context.t ->
       max_num_jobs_per_priority_per_cycle:int ->
       uncaught_exn:Core.Std.Error.t option ->
       num_jobs_run:int ->
       cycle_count:int ->
       cycle_start:Core.Std.Time.t ->
       last_cycle_time:Core.Std.Time.Span.t ->
       cycle_times:Core.Std.Time.Span.t Raw_scheduler.tail ->
       last_cycle_num_jobs:int ->
       cycle_num_jobs:int Raw_scheduler.tail ->
       events:Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t Events.t ->
       Raw_scheduler.T.t
val iter : check_access:((Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     'a) ->
       jobs:((Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t -> 'b) ->
       main_execution_context:((Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t -> 'c) ->
       current_execution_context:((Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t -> 'd) ->
       max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t -> 'e) ->
       uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     'f) ->
       num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'g) ->
       cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'h) ->
       cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t -> 'i) ->
       last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        'j) ->
       cycle_times:((Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t -> 'k) ->
       last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'l) ->
       cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       'm) ->
       events:((Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t -> 'n) ->
       'n
val fold : init:'a ->
       check_access:('a ->
                     (Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     'b) ->
       jobs:('b ->
             (Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t -> 'c) ->
       main_execution_context:('c ->
                               (Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t -> 'd) ->
       current_execution_context:('d ->
                                  (Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t -> 'e) ->
       max_num_jobs_per_priority_per_cycle:('e ->
                                            (Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t -> 'f) ->
       uncaught_exn:('f ->
                     (Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     'g) ->
       num_jobs_run:('g -> (Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'h) ->
       cycle_count:('h -> (Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'i) ->
       cycle_start:('i ->
                    (Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t -> 'j) ->
       last_cycle_time:('j ->
                        (Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        'k) ->
       cycle_times:('k ->
                    (Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t -> 'l) ->
       last_cycle_num_jobs:('l -> (Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'm) ->
       cycle_num_jobs:('m ->
                       (Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       'n) ->
       events:('n ->
               (Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t -> 'o) ->
       'o
val map : check_access:((Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     (unit -> unit) option) ->
       jobs:((Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t ->
             Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque) ->
       main_execution_context:((Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t ->
                               Raw_scheduler.Execution_context.t) ->
       current_execution_context:((Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t ->
                                  Raw_scheduler.Execution_context.t) ->
       max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t -> int) ->
       uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     Core.Std.Error.t option) ->
       num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> int) ->
       cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> int) ->
       cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t ->
                    Core.Std.Time.t) ->
       last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        Core.Std.Time.Span.t) ->
       cycle_times:((Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t -> Core.Std.Time.Span.t Raw_scheduler.tail) ->
       last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> int) ->
       cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       int Raw_scheduler.tail) ->
       events:((Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t ->
               Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
               Events.t) ->
       Raw_scheduler.T.t
val map_poly : (Raw_scheduler.T.t, 'a) Fieldslib.Field.user -> 'a list
val for_all : check_access:((Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     bool) ->
       jobs:((Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t -> bool) ->
       main_execution_context:((Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t -> bool) ->
       current_execution_context:((Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t -> bool) ->
       max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t -> bool) ->
       uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     bool) ->
       num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
       cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
       cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
       last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        bool) ->
       cycle_times:((Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t -> bool) ->
       last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
       cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       bool) ->
       events:((Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t -> bool) ->
       bool
val exists : check_access:((Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     bool) ->
       jobs:((Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t -> bool) ->
       main_execution_context:((Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t -> bool) ->
       current_execution_context:((Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t -> bool) ->
       max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t -> bool) ->
       uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     bool) ->
       num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
       cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
       cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t -> bool) ->
       last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        bool) ->
       cycle_times:((Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t -> bool) ->
       last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> bool) ->
       cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       bool) ->
       events:((Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t -> bool) ->
       bool
val to_list : check_access:((Raw_scheduler.T.t, (unit -> unit) option) Fieldslib.Field.t ->
                     'a) ->
       jobs:((Raw_scheduler.T.t,
              Raw_scheduler.Execution_context.t Job.t Jobs.t Core.Std.sexp_opaque)
             Fieldslib.Field.t -> 'a) ->
       main_execution_context:((Raw_scheduler.T.t,
                                Raw_scheduler.Execution_context.t)
                               Fieldslib.Field.t -> 'a) ->
       current_execution_context:((Raw_scheduler.T.t,
                                   Raw_scheduler.Execution_context.t)
                                  Fieldslib.Field.t -> 'a) ->
       max_num_jobs_per_priority_per_cycle:((Raw_scheduler.T.t, int)
                                            Fieldslib.Field.t -> 'a) ->
       uncaught_exn:((Raw_scheduler.T.t, Core.Std.Error.t option) Fieldslib.Field.t ->
                     'a) ->
       num_jobs_run:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'a) ->
       cycle_count:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'a) ->
       cycle_start:((Raw_scheduler.T.t, Core.Std.Time.t) Fieldslib.Field.t -> 'a) ->
       last_cycle_time:((Raw_scheduler.T.t, Core.Std.Time.Span.t) Fieldslib.Field.t ->
                        'a) ->
       cycle_times:((Raw_scheduler.T.t, Core.Std.Time.Span.t Raw_scheduler.tail)
                    Fieldslib.Field.t -> 'a) ->
       last_cycle_num_jobs:((Raw_scheduler.T.t, int) Fieldslib.Field.t -> 'a) ->
       cycle_num_jobs:((Raw_scheduler.T.t, int Raw_scheduler.tail) Fieldslib.Field.t ->
                       'a) ->
       events:((Raw_scheduler.T.t,
                Raw_scheduler.Execution_context.t Raw_scheduler.Clock_event.t
                Events.t)
               Fieldslib.Field.t -> 'a) ->
       'a list
module Direct: sig .. end