parse type-level integers
allow arbitrarily-sized integral types