Hrm, should we just spit out a different error message for known return values? I'm worried about the double-checking ending up breaking control flow in the future.