>From a Perl 6 language point of view, populating an array is a waste of time. The user just wants an object that has various methods. Some of those methods (ACLs, for instance) might be optional depending on the roles filled by the object. New roles can be added to the object as the concept of files mutates over time, or as people derive from the base class. There are no ordering dependencies between the methods as there are between array elements. Some of the methods can pull things directly out of the underlying stat structure. Some of the methods synthesize values. Encapsulating such decisions are what objects were invented for...
I realize that you're talking at a lower level than that, but it sounds kind of like you're making the Perl 5 mistake of synthesizing a bunch of values the user might not be at all interested in. If the user doesn't ask for the extension, why go out of your way to compute it? Larry