class UInt32 implements UInt32Value<UInt32> {

  @Override
  public UInt32 mod(UInt32 modulus) {
    if (modulus.isZero()) {
      throw new ArithmeticException("mod by zero");
    }
    return create(Integer.remainderUnsigned(this.value.toInt(), modulus.value.toInt()));
  }

  private  UInt32(byte[] bytes);

}