Changed gen to gen-subsumption where generate takes in a pattern, substitutes based on the position of the variation in the groove and feeds off it to generate multiple other variations.