I didn’t test all aspects of my append-list version of the Matrix – and that includes the behaviour of the NON-LOCAL lists! So don’t assume it’s doing the right thing here… I know it does the right thing for RELS, HCONS, ICONS, but I won’t promise more than that without looking more closely!
There are some edge cases where converting a grammar from diff-lists to append-lists would lead to different behaviour, but these are cases where the use of diff-lists is fragile – for example, if a grammar exploits the fact that a diff-list can have extra elements on the LIST after the LAST (e.g. a 0-dlist identifies the LIST and LAST but the LIST can still be non-empty, so that diff-list appends are possible). May or may not be relevant here, but I thought I’d mention it.