static assert
use static assertation where suitable