simply-typed-object-algebra Using object algebras / final tagless to implement a simply typed language.