Use indirect eval to avoid hanging on to unused large strings (|productions|) in the local closure.