Fixed the bug in monadic Eval. The problem was that look became too strict when run in the State monad
Cleaned Eval
Fixed printing of fst and snd
Updated type checker to use traces
Update Makefile to make it easier to switch optimization level (and the traces work with -O2)