Use static_assert to guard invalid type