consider that parsers can return None