basically `fail == raise`, but I think I'll remove exception-dependency from this service.