> aEl.getParent().highlight('#cc0000').chain(aEl.dispose());
Also, you're using ::chain incorrectly (as was anyone who tried to
lightly rework your code at first), even if the method were expected
to exist on an Element.
::chain accepts function/s as argument/s. Therefore, 'aEL.dispose'
would be a valid function object to pass. 'aEl.dispose()' is not: that
function call does not return a function, it returns the original
Element.
So you in reality are calling chain(Element), which is as much of a
no-op as would be some_random_nonexistent_method(Element) (though with
no warning). This does not mean that your dispose() will not run at
all. Quite the opposite: it will run but _it will not run chained_.
Due to the order of execution, the dispose() gets called first, before
the interpreter even checks for the existence of ::chain.
-- Sandy