Tom Cargill makes (made) frequent use of this construction in 'pi'
(process inspector, first in Eight Edition), e.g.,

asm.c:  _asm->core->process()->openmemory(addr);
frame.c: return core->process()->frame(level-1)->regloc((int)v->range.lo, v->type.size_of());
phrase.c:  frame->symtab()->core()->process()->openmemory(expr->val.lng);


On Mon, Apr 27, 2020 at 6:11 AM Derek Fawcus <dfawcus+lists-tuhs@employees.org> wrote:
On Sun, Apr 26, 2020 at 08:37:04PM +0100, Derek Fawcus wrote:
> No, I think he means something like:
>
>    (*((*((*((*f)()->g))()->h))()->i))()
>
> but I can't recall the relative priority of '*' and '->' in
> the above, so I may have added unnecessary parens.

Actually trying it, while the above does the right thing,
I can also get the following to compile with a modern compiler

    (*(*(*(*f)()->g)()->h)()->i)();

So maybe that was the answer?

I guess I'd have to question why someone would wish to write
such a construct, as error handling seems awkward.  Even in
the modern form.

DF