void f(T) { static_assert(T(), "first requirement failed to meet."); f_impl(T()); }
int f(Tester const& t, const Name& name_) { return f_impl(f_parameters()(t, name_)); }
int f_list(Params const& params) { return f_impl(params); }
int f(Tester const& t, const Name& name_, const Value& value_, const Index& index_) { return f_impl(f_parameters()(t, name_, value_, index_)); }