sig
  val enum : (string * int64) list -> 'Ctypes.typ -> unit
  val structure : 'Ctypes.structure Ctypes.typ -> unit
  val union : 'Ctypes.union Ctypes.typ -> unit
  val typedef : 'Ctypes.typ -> string -> unit
  val internal :
    ?runtime_lock:bool ->
    string -> ('-> 'b) Ctypes.fn -> ('-> 'b) -> unit
end