`type t````=` `{`

`mutable check_access : (unit ‑> unit) option;`
`mutable job_pool : Job_pool.t;`
`normal_priority_jobs : Job_queue.t;`
`low_priority_jobs : Job_queue.t;`
`very_low_priority_workers : Very_low_priority_worker.t Core_kernel.Deque.t;`
`mutable main_execution_context : Execution_context.t;`
`mutable current_execution_context : Execution_context.t;`
`mutable uncaught_exn : (Core_kernel.Exn.t * Core_kernel.Sexp.t) option;`
`mutable cycle_count : int;`
`mutable cycle_start : Async_kernel__.Import.Time_ns.t;`
`mutable run_every_cycle_start : (unit ‑> unit) list;`
`mutable last_cycle_time : Async_kernel__.Import.Time_ns.Span.t;`
`mutable last_cycle_num_jobs : int;`
`mutable time_source : Core_kernel.read_write Time_source.t1;`
`external_jobs : External_job.t Core_kernel.Thread_safe_queue.t;`
`mutable thread_safe_external_job_hook : unit ‑> unit;`
`mutable job_queued_hook : (Async_kernel.Priority.t ‑> unit) option;`
`mutable event_added_hook : (Async_kernel__.Import.Time_ns.t ‑> unit) option;`
`mutable yield : (unit, Core_kernel.read_write) Bvar.t;`
`mutable yield_until_no_jobs_remain : (unit, Core_kernel.read_write) Bvar.t;`
`mutable check_invariants : bool;`
`mutable max_num_jobs_per_priority_per_cycle : Async_kernel__.Import.Max_num_jobs_per_priority_per_cycle.t;`
`mutable record_backtraces : bool;`
`mutable on_start_of_cycle : unit ‑> unit;`
`mutable on_end_of_cycle : unit ‑> unit;`

`}```