Собственный шаблон, заменён на static_assert