introductory guide to monads 8740507