github.com/l3x/learn-fp-go@v0.0.0-20171228022418-7639825d0b71/4-purely-functional (about) README.md ch09-functor-monoid ch10-monads ch11-category-theory