I'm not sure but if we have a string that we can't match raising an error might be more appropriate? E.g. Wouldn't want it to kind of silently "fail" and return nil.