sig
  type bit = Zero | One
  type bits = Binary.bit list
  val bits_to_int : Binary.bits -> int
  val int_to_bits : int -> Binary.bits
  val normalize : Binary.bits -> Binary.bits -> Binary.bits * Binary.bits
  val drop_leading_zeros : Binary.bits -> Binary.bits
  val binary_addition : Binary.bits -> Binary.bits -> Binary.bits
end