Lift Errors and Log interfaces over WriterT.

This is necessary because we want to use WriterT in processFile to
collect the bindings for the current module.
Execute processStmt in the Writer monad to collect bindings.