O'Reilly logo
  • Philippe Derome thinks this is interesting:

It is composed of two database calls, and since each of these calls depends on a database connection, this method must also depend on a database connection. Hence, you must provide a database connection as an argument to the business logic method. Providing the dependency as an argument is not very convenient as it brings the connection object into your focus. On the business logic layer, you want to focus on the business logic and not on the details of how the database connection works.

From

Cover of Mastering Functional Programming

Note

he is really justifying the approach with higher level methods that compose two lower level functions that make use of Connection in that it will lead to less clutter in code.