Compare is called often, streamline upcasting and the overhead of calculate.