pub(crate) fn arith( cur: NumberValue, next: NumberValue, int_fn: fn(i64, i64) -> i64, float_fn: fn(f64, f64) -> f64, big_fn: fn(BigInt, BigInt) -> BigInt, ) -> NumberValue