Notes used for talk on arrows and monads in Scala