- use std::hypot for complex mag() instead of long-hand version - Detail::conj() function for complex or non-complex