I have a base class Base that all my other classes extend. Would it be at all possible for Base to asynchronously compute a list of foos so that all the classes that extend Base have access to this list of foos?
That is bad design practice. A constructor should be a pure function which sets the initial state of the instance and nothing else.
If using async or a generator was possible, it would mess up the new operator and, vis-a-vis, inheritance.
Jason Knight
The less code you use, the less there is to break
I think you're thinking of this all wrong. Rather than extending the object class, how about making a new class and having the old object be a property of the new one? Then you can assign by reference, the default behavior of assigning a defined object instance.