Dimension is kind of special, since it only has one boolean and one int64 member (Actually there is another callback member, but right now we never use it). So I treat it like DataType. Also it is not ending with Proto... So I decide to let it act like a basic type.