Error Handling using a 'sink'
Error sinks are a way of accumulating errors from API calls related or unrelated into 1 unified error handling pattern. The implementation of a sink requires 2 fundamental design constraints on the APIs supporting this pattern.
Pipelining of errors
Errors emitted over the course of several API calls are accumulated into a sink which save the error code and message of the first error encountered