Created by: natefaubion
When matching on lookbehind, repeater vars go in reversed, which we have to correct. Previously it was doing it for all level: 1 matches, but what we actually need is to do it for topLevel patterns. This adds a topLevel key to match objects so we can make the distinction.