enough endifs
avoid BSLS_UTIL_ADDRESSOF, which fails when op& is defined
use BloombergLP::bsls::bsls_addressOf instead
restore include order
check test apparatus, check improper conversions not provided
conform to namespace reqs, inlines defined at global scope