Go Errors. Chainable, context-carrying, type assertion- (for custom error types) and generic error friendly