Fix numericality validation with large numbers

When you use `LARGE_NUMBER-1` `Kernal.Float` actually rounds the number up to `LARGE_NUMBER`. Solution I took was to check if the number was `Numeric` and if it is you don't need to use `Kernal.Float` to parse it.

I'm not 100% sure on the approach I took so would love feedback from people more experienced with this piece of code.

@rafaelfranca @arthurnn suggested I tag you on this PR.