type-level integers using type families