sig
  type t = private {
    dev : bool;
    release : int;
    reserved : int;
    no_flat_float_array : bool;
    fp : bool;
    tsan : bool;
    int31 : bool;
    static : bool;
    no_compression : bool;
    ansi : bool;
  }
  val make_zinc :
    ?dev:bool ->
    ?release:int ->
    ?no_flat_float_array:bool ->
    ?int31:bool ->
    ?static:bool -> ?no_compression:bool -> unit -> Misc.RuntimeID.t
  val make_bytecode :
    ?dev:bool ->
    ?release:int ->
    ?reserved:int ->
    ?no_flat_float_array:bool ->
    ?int31:bool ->
    ?static:bool ->
    ?no_compression:bool -> ?ansi:bool -> unit -> Misc.RuntimeID.t
  val make_native :
    ?dev:bool ->
    ?release:int ->
    ?reserved:int ->
    ?no_flat_float_array:bool ->
    ?fp:bool ->
    ?tsan:bool ->
    ?int31:bool ->
    ?static:bool ->
    ?no_compression:bool -> ?ansi:bool -> unit -> Misc.RuntimeID.t
  val is_zinc : Misc.RuntimeID.t -> bool
  val is_bytecode : Misc.RuntimeID.t -> bool
  val is_native : Misc.RuntimeID.t -> bool
  val to_string : Misc.RuntimeID.t -> string
  val of_string : string -> Misc.RuntimeID.t option
  val ocamlrun : string -> Misc.RuntimeID.t -> string
  val shared_runtime :
    ?runtime_id:Misc.RuntimeID.t ->
    ?host:string -> ?prefix:string -> Stdlib.Sys.backend_type -> string
  val stubslib :
    ?runtime_id:Misc.RuntimeID.t -> ?host:string -> string -> string
end