Fix typo in original
Alternate operator_traits with slightly different semantics from boost