Allows objects to extend others.
Future monad.
Adds validation applicative