NET object system but I am not 100% square on that.
For most cases where type classes or modules would be great; constraints, abstract classes, interfaces, SRTPs and or object expressions should suffice.