Ah, this is a node.js-ism. The first parameter to an async callback should always be an error (truthy) or null (falsy.) Do we want to adopt this convention at all? Perhaps it is simpler to do as you suggested. If we do decide to keep it, I'd like to change the type to be `Error?` so that it is more self documenting.

I have no strong feelings on this one, it is just a habit.