jTypes: overcoming differential inheritance
jtypes.com