check using static_assert
make assert macros more short and reduce paren