Appending QUE in head-subj/head-comp rules

My current task is to try and get rid of lexical threading in the Matrix. This means that, at a minimum, (i) lexical types do not identify their NON-LOCAL features with that of their arguments’; (ii) instead, the head-subj rule (for example) should append its daughters’ NON-LOCAL features.

Here’s what I did:

binary-nonloc-phrase := basic-binary-headed-phrase &
[ SYNSEM.NON-LOCAL [ SLASH.APPEND < #slash1, #slash2 >,
                     QUE.APPEND < #que1, #que2 >,
                     REL #rel ], ; OZ: wasn't sure what to do with REL at this point
  HEAD-DTR.SYNSEM.NON-LOCAL [ SLASH #slash1,
                              QUE #que1,
                              REL #rel ],
  NON-HEAD-DTR.SYNSEM.NON-LOCAL [ SLASH #slash2,
                                  QUE #que2 ] ].

This type I then add as a supertype to both head-subj and head-comp rules.

And this seemed to work at first (my English test passes, for example), but something doesn’t seem to work when head-subject needs to be low wrt head-complement, looks like.

In a VSO pseudolanguage, I should be able to parse tv who the n2? (meaning who did something denoted by n2?) but there is no parse; I am having difficulties with interactive unification as well (see developers list) but with no lui, I am able to get the following failure when I try to unify the mother of the head-subj with the head daughter of the head-comp:

Screen Shot 2020-09-14 at 10.51.48 AM

Did I write the append incorrectly? When I inspect the head-subj mother, I see the following:

The QUE-list of the head-comp’s head daughter is identified with the first element on APPEND here (tagged 53 but you can’t see it):

Can someone spot the problem?..

I think that 1-list is suspicious… I think it should be just cons?

Aha, I think I found the problem, at least part of it.

I had this in the grammar:

clause :+ [ SYNSEM.NON-LOCAL.QUE.LIST 0-1-list ].

I do need something like that, as this grammar should disallow more than one wh-word in a sentence. But perhaps it is not OK to use the 0-1-list type like this? I opened a new question for this though.