class BaseUInt32Value implements UInt32Value<T> {

  @Override
  public T addMod(T value, UInt32 modulus) {
    return addMod(value.toUInt32(), modulus);
  }

  protected  BaseUInt32Value(UInt32 value, Function<UInt32, T> ctor);
  protected  BaseUInt32Value(int value, Function<UInt32, T> ctor);
  protected  BaseUInt32Value(BigInteger value, Function<UInt32, T> ctor);

}