Index classes starting from 1, 0 means "no value"
typelist based implementation of level (depth, tier)