memoize parses across phrasings