I have the following considerations:
1. The old situation has pure datatypes, which in theory may be reused in other situations. In practice, these datatypes are very much bound to properties, so that reuse is not realistic, and does not happen in FOP code. Combining the notions of datatype and property is more tuned to FOP's situation.
Alt-design has completely separate properties and data-types. Instances of datatypes contain int references to the property on which they were defined.
2. Even in the old situation the separation between datatypes and properties is not complete. Compound datatypes contain properties.
Alt-design has no compound properties.
Peter -- Peter B. West <http://www.powerup.com.au/~pbwest/resume.html>