Its been a while<p>I liked the records in ada. You could control the position and size of each field (which was really usefully for dealing with in binary messages) We had a ton of constrained types.<p>If I remember we has assert &#x27;size on some of the records to make sure type changes didn&#x27;t cause some records to become unexpected sized in case the types that made up the record changed.<p>variant records were fun, but when you start trying to do much (array of variant records?) it fell down.<p>The string handling left a little to be desired though..