monads — Crystal Functional Programming Monads | Open Awesome