Summary of "Algebra of Programming"