22concept Space = std::copy_constructible<std::remove_cvref_t<T>> && std::equality_comparable<std::remove_cvref_t<T>> &&
23 requires(std::remove_cvref_t<T>& space, std::remove_cvref_t<T>
const& const_space, std::string label) {
24 { const_space.label() } -> std::same_as<std::string const&>;
25 { space.set_label(std::move(label)) } -> std::same_as<void>;