I think span should be declared and defined in boost::core:: so that one may write core::span when inside the boost namespace. We should still lift it into the enclosing boost:: namespace, so this is in addition to not in lieu of. This should not break anything.