Update code for latest Rust nightly

- Have to manually import Float, SignedInt, and FloatNum maths modules
- Enums are now namespaced, which breaks absolutely everything