Currently the conversion to mdspan and the to_mdspan are templated with different template arguments
template<class OtherElementType, class OtherExtents,
class OtherLayoutType, class OtherAccessorType>
operator mdspan ();
template<class OtherAccessorType>
constexpr mdspan<element_type, extents_type, layout_type, OtherAccessorType>
to_mdspan(const OtherAccessorType& a = default_accessor<element_type>());
That prevents us from using CTAD for the common use case where one converts to a matching mdspan. We should provide untemplated overloads so that this works