Comparing different types doesn't raise an error?!?!?

You don’t need two steps, round/trunc/ceil/floor all take a type argument.