Implement lightweight computation expressions

and move existing computation expressions. #37