monadic interpreter and fixes to makeg