I might be wrong, but doesn't this describe Google Go's interfaces as well? As in, the data structure of an object is independent of the functions/methods that can operate on the object. At least that's how I understand it right now (having never used it). And the type of a thing is related to the set of functions (matched by name) that are expected to work rather than the data's memory structure.