I tend to prefer early outing on the error vs the other way round. As complexity goes up, it's more likely we'd put more code in the good case.