Made Type::min/max use math intrinsics for floats and 64-bit types
Simplified inline reductions using new features

Type::min/max made minimum and maximum easier
We don't need to worry about explicitly disambiguating names now