Should this `fail` not also apply to the else case?