In your first example, you can just type 'A=10' in DoStuff as the global is inherited (super not necessary)
This runs - not sure why the original version doesn't - perhaps because if you specify super.A then DoOtherStuff is out of scope - though I'm not clear on if/why this is the case.
Type Base Global A() End Type Type Ext Extends Base Function DoStuff() A=DoOtherStuff End Function Function DoOtherStuff() Print "BLAH" End Function End Type
This runs - not sure why the original version doesn't - perhaps because if you specify super.A then DoOtherStuff is out of scope - though I'm not clear on if/why this is the case.