I just got some rough data from the GeBOS project
BGKetal97. The main architect says it had about 3000 classes, of which 30 were value object classes. There were a couple of hundred (maybe 300?) derived value types, created from the fundamental value object classes using configuration data. (Mostly, this defined acceptable value ranges.) So I probably did go overboard :-) above. Still, there is a point to be made that value types are much more pervasive than we think. For example, conceptually, all collection classes are value types, except that we don't treat them as such, mostly for performance reasons.