sig
  type t
  val default_triple : unit -> string
  val first : unit -> Llvm_target.Target.t option
  val succ : Llvm_target.Target.t -> Llvm_target.Target.t option
  val all : unit -> Llvm_target.Target.t list
  val by_name : string -> Llvm_target.Target.t option
  val by_triple : string -> Llvm_target.Target.t
  val name : Llvm_target.Target.t -> string
  val description : Llvm_target.Target.t -> string
  val has_jit : Llvm_target.Target.t -> bool
  val has_target_machine : Llvm_target.Target.t -> bool
  val has_asm_backend : Llvm_target.Target.t -> bool
end