What's the point of writing programs in the relational paradigm? First off, aesthetics dammit. -- David Nolan (@swannodette)

I love that quote and I like that Free provides a nice looking aesthetic.

for{
  
  user        <- userService.get(username)
  bankAccount <- bankAccountService.getAccount(user)
  points      <- rewardPointsService.getRewardPoints(user)
  coffee      <- coffeeService.buyCoffee(user, bankAccount, points)
  
} yield coffee