Add docstrings everywhere!
Document modules.
Constrain public API.
Write init/finalize & pattern language bindings, haskell-side!