sig
  type bigstring =
      (char, Bigarray.int8_unsigned_elt, Bigarray.c_layout) Bigarray.Array1.t
  module type EndianBigstringSig =
    sig
      val get_char : EndianBigstring.bigstring -> int -> char
      val get_uint8 : EndianBigstring.bigstring -> int -> int
      val get_int8 : EndianBigstring.bigstring -> int -> int
      val get_uint16 : EndianBigstring.bigstring -> int -> int
      val get_int16 : EndianBigstring.bigstring -> int -> int
      val get_int32 : EndianBigstring.bigstring -> int -> int32
      val get_int64 : EndianBigstring.bigstring -> int -> int64
      val set_char : EndianBigstring.bigstring -> int -> char -> unit
      val set_int8 : EndianBigstring.bigstring -> int -> int -> unit
      val set_int16 : EndianBigstring.bigstring -> int -> int -> unit
      val set_int32 : EndianBigstring.bigstring -> int -> int32 -> unit
      val set_int64 : EndianBigstring.bigstring -> int -> int64 -> unit
    end
  module BigEndian :
    sig
      val get_char : bigstring -> int -> char
      val get_uint8 : bigstring -> int -> int
      val get_int8 : bigstring -> int -> int
      val get_uint16 : bigstring -> int -> int
      val get_int16 : bigstring -> int -> int
      val get_int32 : bigstring -> int -> int32
      val get_int64 : bigstring -> int -> int64
      val set_char : bigstring -> int -> char -> unit
      val set_int8 : bigstring -> int -> int -> unit
      val set_int16 : bigstring -> int -> int -> unit
      val set_int32 : bigstring -> int -> int32 -> unit
      val set_int64 : bigstring -> int -> int64 -> unit
    end
  module BigEndian_unsafe :
    sig
      val get_char : bigstring -> int -> char
      val get_uint8 : bigstring -> int -> int
      val get_int8 : bigstring -> int -> int
      val get_uint16 : bigstring -> int -> int
      val get_int16 : bigstring -> int -> int
      val get_int32 : bigstring -> int -> int32
      val get_int64 : bigstring -> int -> int64
      val set_char : bigstring -> int -> char -> unit
      val set_int8 : bigstring -> int -> int -> unit
      val set_int16 : bigstring -> int -> int -> unit
      val set_int32 : bigstring -> int -> int32 -> unit
      val set_int64 : bigstring -> int -> int64 -> unit
    end
  module LittleEndian :
    sig
      val get_char : bigstring -> int -> char
      val get_uint8 : bigstring -> int -> int
      val get_int8 : bigstring -> int -> int
      val get_uint16 : bigstring -> int -> int
      val get_int16 : bigstring -> int -> int
      val get_int32 : bigstring -> int -> int32
      val get_int64 : bigstring -> int -> int64
      val set_char : bigstring -> int -> char -> unit
      val set_int8 : bigstring -> int -> int -> unit
      val set_int16 : bigstring -> int -> int -> unit
      val set_int32 : bigstring -> int -> int32 -> unit
      val set_int64 : bigstring -> int -> int64 -> unit
    end
  module LittleEndian_unsafe :
    sig
      val get_char : bigstring -> int -> char
      val get_uint8 : bigstring -> int -> int
      val get_int8 : bigstring -> int -> int
      val get_uint16 : bigstring -> int -> int
      val get_int16 : bigstring -> int -> int
      val get_int32 : bigstring -> int -> int32
      val get_int64 : bigstring -> int -> int64
      val set_char : bigstring -> int -> char -> unit
      val set_int8 : bigstring -> int -> int -> unit
      val set_int16 : bigstring -> int -> int -> unit
      val set_int32 : bigstring -> int -> int32 -> unit
      val set_int64 : bigstring -> int -> int64 -> unit
    end
end