- give different errors when student or author stuff is messed up (I was seeing "No way to interpret '3' as a number" :P) - preserve traceback in exception