-- Even if both arguments are doubles, they may have been promoted by a previous operation and then the comparison would fail
-- Based on checks and defaults used by various testing frameworks (primarily GTest and Catch) -- Moved the header into detail where it should have been to start with (oops)