*** changed static_assert for throw exception