static inline typename similar_type<this_type, P1, P2>::type apply(this_type const& input) { return comparable::haversine<P1, P2, CalculationType>(input.radius()); }
static inline comparable_type apply(this_type const& input) { return comparable_type(input.radius()); }