latest version, handles GenCheeseShop reference version.  Needs more
tests.  And, pretty fragile overall, needs pattern matching.