no more outer pointer in BType
BType as custom value class