Well in a limited fashion this experiment could be actually be done. I'm not sure how this would be modeled, but I guess giving smart young guys that don't know nothing about programming a set of "tools" in a simulation that can be used to create the building blocks of many different data structures.
Then provide problems, and look at what they do and invent in order to solve such problems.
Will be very hard to do this in an unbiased fashion actually...
Having programmers explore in a (to them) really weird language (like Prolog or Haskell) and seeing what they come up with might be a good approximation, though.
I may never have thought of difference lists, but then Prolog made them seem obvious. :)
Then provide problems, and look at what they do and invent in order to solve such problems.
Will be very hard to do this in an unbiased fashion actually...