A system for extending data types in software comprises an extension unit that modifies an arbitrary preexisting base data type, the preexisting base data type having at least one member. The system also includes a supplemental member that is included with the extension unit and that provides additional...http://www.google.co.uk/patents/US8032859?utm_source=gb-gplus-sharePatent US8032859 - Type extensions