#pragma once #include namespace utl { namespace mp { namespace __impl /* forward declaration */ { template struct wrong_impl; } template struct when; template using when_valid = when::value>; template using wrong = __impl::wrong_impl; namespace __impl /* implementation */ { template struct wrong_impl : public c_false_t { }; } } }