To be consistent with FloatType and IntType, I think we should remove the `is_numeric($value)` check here. Previously, IncrementType extending IntType would convert any non-null value to an integer. In this case, a non-null value should be converted to either a float or integer. `(is_float($value) ? (float) $value : (int) $value)` is good to leave as-is, since the integer cast is the fallback behavior.