Minimal implementation/proof of concept of type classes