Bnf of types