(fixes)
logic programming with the list monad

TODO: efficient logic programming with some library
Databases
Haskell syntax extensions/templates

ViewPatterns
MonadComprehensions
interpolated strings and multiline strings
PostfixOperators
TupleSections
UnicodeSyntax
LambdaCase
multithreading and mutable variables
Typeclasses!

Monoid
Traversable
Applicative
Monad
Existential Types

Map whose values are objects via an existential type
keep a database connection from escaping its bracketed block via an existential type
libraries and a zipper

basic lensing
TODO: advanced lensing

error handling
TODO: understand ErrorT/Error/Exception/etc. better

simple list zipper