double operator -(Object other) { _checkArg(other, "other"); return switch (other) { num() => value - other, DoubleWithTolerance() => value - other.value, _ => throw TypeError(), }; }