#include <di/meta/compare.h>
template<typename T, typename U, typename Category partial_ordering>
(detail::ComparesAs<meta::Type<detail::DefinitelyThreeWayComparableWith<T, T>>, Category>) ||
detail::PartiallyOrderedWith<T, U> && detail::WeaklyThreeWayComparableWith<T, U, Category>)