sketch should stop executing on error
infinite loop detector is more robust but halting problem remains unsolved
emit an error when evaluate fails