Debugging a lexical rule with ICONS

My fixes for the information structure affix marking broke my Yukaghir grammar where I also had focus affix marking. But, I suppose because this is a lexical rule, limiting the number of edges in the LKB does not help, and it just keeps spinning and I am not sure how to debug it.

Here’s the rules:

add-icons-subj-foc-lex-rule := add-only-no-rels-hcons-rule &
  [ SYNSEM.LOCAL [ CAT.VAL.SUBJ < [ LOCAL.CONT.HOOK.INDEX #target ] >,
                   CONT [ HOOK.INDEX #clause,
                          ICONS.LIST < focus &
                                       [ IARG1 #clause,
                                         IARG2 #target ] > ] ] ].

INTR-SF-lex-rule := INTR-lex-rule & add-icons-subj-foc-lex-rule & infl-lex-rule &
  [ SYNSEM.LOCAL.CAT.VAL.SUBJ.FIRST.LOCAL.CONT.HOOK.ICONS-KEY focus,
    DTR.ARG-ST #arg-st,
    ARG-ST #arg-st &
           < [ LOCAL.CAT.HEAD.CASE Pre ] > ].

Perhaps someone sees right away what makes it spin? Or if not, could suggest a debugging strategy? I could do ACE instead of the LKB, too if I know which commands specifically and what should be piped where and how :slight_smile: :slight_smile:

Actually, I do not yet have proof that this change is the reason the grammar is spinning! Apologies; I need to verify first…

…And I now believe it is not.

I removed that new supertype but the grammar still is not working. It has something do do with append lists, I think.

ACE, run verbosely, gives the following kind of output.

First, all seems well:

NOTE: semantic index hash contains 49 entries in 1024 slots
token #1 le 0x100d000f8 vtx [0-1] char [0-3] string 'kin' dag 
token #2 le 0x100d00170 vtx [1-2] char [4-12] string 'mit-gele' dag 
token #3 le 0x100d001f0 vtx [2-3] char [13-18] string 'qamie' dag 
finished token mapping
kin -> kin [1 ways]
	
mit-gele -> mit-gele [1 ways]
	
mit-gele -> mit [2 ways]
	 cn-acc-suffix1
	 pn-acc-suffix1
qamie -> qamie [1 ways]
	
 lexical lookup found lexeme 'kin'
 lexical lookup found lexeme 'mit'
 lexical lookup found lexeme 'qamie'
finished lexical lookup
epsilon [0] of noun-num-sg-lex is #7

Then there is a bunch of things going on, for now I assume they are all fine.

I terminated the process after a minute or so (this is just one sentence), and here’s the end of the output file, so, where it got terminated:

APPEND-RESULT: <204> ] ] REST: #D[null-of-alists APPEND-RESULT: <211> ] APPEND-RESULT: <195> ] APPEND-RESULT: <194> ] ] REST: #D[null-of-alists APPEND-RESULT: <202> ] APPEND-RESULT: <184> ] APPEND-RESULT: <183> ] ] REST: #D[null-of-alists APPEND-RESULT: <192> ] APPEND-RESULT: <172> ] APPEND-RESULT: <171> ] ] REST: #D[null-of-alists APPEND-RESULT: <181> ] APPEND-RESULT: <159> ] APPEND-RESULT: <158> ] ] REST: #D[null-of-alists APPEND-RESULT: <169> ] APPEND-RESULT: <145> ] APPEND-RESULT: <144> ] ] REST: #D[null-of-alists APPEND-RESULT: <156> ] APPEND-RESULT: <130> ] APPEND-RESULT: <129> ] ] REST: #D[null-of-alists APPEND-RESULT: <142> ] APPEND-RESULT: <114> ] APPEND-RESULT: <113> ] ] REST: #D[null-of-alists APPEND-RESULT: <127> ] APPEND-RESULT: <97> ] APPEND-RESULT: <96> ] ] REST: #D[null-of-alists APPEND-RESULT: <111> ] APPEND-RESULT: <79> ] APPEND-RESULT: <78> ] ] REST: #D[null-of-alists APPEND-RESULT: <94> ] APPEND-RESULT: <60> ] APPEND-RESULT: <59> ] ] REST: #D[null-of-alists APPEND-RESULT: <76> ] APPEND-RESULT: <40> ] APPEND-RESULT: <39> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <248>= #D[null-copy NEW-LIST: <57> END-LIST: <57> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <249>= #D[null-copy NEW-LIST: <248> END-LIST: <248> ] APPEND: #D[list-of-alists APPEND-RESULT: <249> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <250>= #D[null-copy NEW-LIST: <248> END-LIST: <248> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <251>= #D[null-copy NEW-LIST: <250> END-LIST: <250> ]…

This series of APPEND-RESULTs starts like this:

trying: #168 bare-np-phrase in #1137 head-comp-phrase-2[1]
generated #1185 2/2 from #1137, #168 for [0-2] with rule head-comp-2: kin mit-gele
#D[head-comp-phrase-2 SYNSEM: #D[phr-synsem-min LOCAL: #D[local-min CONT: #D[mrs HOOK: <1>= #D[hook INDEX: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] GTOP: #D[handle INSTLOC: #D[string] ] LTOP: #D[handle INSTLOC: #D[string] ] XARG: #D[individual INSTLOC: #D[string] SORT: #D[semsort] ] ICONS-KEY: #D[focus IARG1: #D[individual INSTLOC: #D[string] SORT: #D[semsort] ] IARG2: #D[individual INSTLOC: #D[string] SORT: #D[semsort] ] ] CLAUSE-KEY: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] ] ICONS: #D[append-list LIST: <2>= #D[cons FIRST: <3>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <4>= #D[cons FIRST: <5>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <6>= #D[cons FIRST: <7>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <8>= #D[cons FIRST: <9>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <10>= #D[cons FIRST: <11>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <12>= #D[cons FIRST: <13>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <14>= #D[cons FIRST: <15>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <16>= #D[cons FIRST: <17>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <18>= #D[cons FIRST: <19>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <20>= #D[cons FIRST: <21>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <22>= #D[cons FIRST: <23>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <24>= #D[cons FIRST: <25>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <26>= #D[cons FIRST: <27>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <28>= #D[cons FIRST: <29>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <30>= #D[cons FIRST: <31>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <32>= #D[cons FIRST: <33>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <34>= #D[cons FIRST: <35>= #D[non-focus IARG1: #D[event INSTLOC: #D[string] SORT: #D[semsort] E: #D[tam TENSE: #D[tense] ASPECT: #D[aspect] MOOD: #D[mood] ] SF: #D[iforce] ] IARG2: #D[index INSTLOC: #D[string] SORT: #D[semsort] COG-ST: #D[cog-st] SPECI: #D[bool] ] ] REST: <36>= #D[list] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] APPEND: #D[cons-of-alists FIRST: <37>= #D[append-list LIST: <38>= #D[null-copy NEW-LIST: <2> END-LIST: <2> ] APPEND: #D[list-of-alists APPEND-RESULT: <38> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <39>= #D[cons-copy FIRST: <3> REST: <40>= #D[cons-copy FIRST: <5> REST: <41>= #D[cons-copy FIRST: <7> REST: <42>= #D[cons-copy FIRST: <9> REST: <43>= #D[cons-copy FIRST: <11> REST: <44>= #D[cons-copy FIRST: <13> REST: <45>= #D[cons-copy FIRST: <15> REST: <46>= #D[cons-copy FIRST: <17> REST: <47>= #D[cons-copy FIRST: <19> REST: <48>= #D[cons-copy FIRST: <21> REST: <49>= #D[cons-copy FIRST: <23> REST: <50>= #D[cons-copy FIRST: <25> REST: <51>= #D[cons-copy FIRST: <27> REST: <52>= #D[cons-copy FIRST: <29> REST: <53>= #D[cons-copy FIRST: <31> REST: <54>= #D[cons-copy FIRST: <33> REST: <55>= #D[cons-copy FIRST: <35> REST: <56>= #D[list-copy NEW-LIST: <36> END-LIST: <57>= #D[null] ] NEW-LIST: <34> END-LIST: <57> ] NEW-LIST: <32> END-LIST: <57> ] NEW-LIST: <30> END-LIST: <57> ] NEW-LIST: <28> END-LIST: <57> ] NEW-LIST: <26> END-LIST: <57> ] NEW-LIST: <24> END-LIST: <57> ] NEW-LIST: <22> END-LIST: <57> ] NEW-LIST: <20> END-LIST: <57> ] NEW-LIST: <18> END-LIST: <57> ] NEW-LIST: <16> END-LIST: <57> ] NEW-LIST: <14> END-LIST: <57> ] NEW-LIST: <12> END-LIST: <57> ] NEW-LIST: <10> END-LIST: <57> ] NEW-LIST: <8> END-LIST: <57> ] NEW-LIST: <6> END-LIST: <57> ] NEW-LIST: <4> END-LIST: <57> ] NEW-LIST: <2> END-LIST: <57> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <58>= #D[cons-copy FIRST: <3> REST: #D[null-copy NEW-LIST: <40> END-LIST: <40> ] NEW-LIST: <39> END-LIST: <40> ] APPEND: #D[list-of-alists APPEND-RESULT: <58> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <59>= #D[cons-copy FIRST: <5> REST: <60>= #D[cons-copy FIRST: <7> REST: <61>= #D[cons-copy FIRST: <9> REST: <62>= #D[cons-copy FIRST: <11> REST: <63>= #D[cons-copy FIRST: <13> REST: <64>= #D[cons-copy FIRST: <15> REST: <65>= #D[cons-copy FIRST: <17> REST: <66>= #D[cons-copy FIRST: <19> REST: <67>= #D[cons-copy FIRST: <21> REST: <68>= #D[cons-copy FIRST: <23> REST: <69>= #D[cons-copy FIRST: <25> REST: <70>= #D[cons-copy FIRST: <27> REST: <71>= #D[cons-copy FIRST: <29> REST: <72>= #D[cons-copy FIRST: <31> REST: <73>= #D[cons-copy FIRST: <33> REST: <74>= #D[cons-copy FIRST: <35> REST: <75>= #D[list-copy NEW-LIST: <56> END-LIST: <76>= #D[null] ] NEW-LIST: <55> END-LIST: <76> ] NEW-LIST: <54> END-LIST: <76> ] NEW-LIST: <53> END-LIST: <76> ] NEW-LIST: <52> END-LIST: <76> ] NEW-LIST: <51> END-LIST: <76> ] NEW-LIST: <50> END-LIST: <76> ] NEW-LIST: <49> END-LIST: <76> ] NEW-LIST: <48> END-LIST: <76> ] NEW-LIST: <47> END-LIST: <76> ] NEW-LIST: <46> END-LIST: <76> ] NEW-LIST: <45> END-LIST: <76> ] NEW-LIST: <44> END-LIST: <76> ] NEW-LIST: <43> END-LIST: <76> ] NEW-LIST: <42> END-LIST: <76> ] NEW-LIST: <41> END-LIST: <76> ] NEW-LIST: <40> END-LIST: <76> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <77>= #D[cons-copy FIRST: <5> REST: #D[null-copy NEW-LIST: <60> END-LIST: <60> ] NEW-LIST: <59> END-LIST: <60> ] APPEND: #D[list-of-alists APPEND-RESULT: <77> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <78>= #D[cons-copy FIRST: <7> REST: <79>= #D[cons-copy FIRST: <9> REST: <80>= #D[cons-copy FIRST: <11> REST: <81>= #D[cons-copy FIRST: <13> REST: <82>= #D[cons-copy FIRST: <15> REST: <83>= #D[cons-copy FIRST: <17> REST: <84>= #D[cons-copy FIRST: <19> REST: <85>= #D[cons-copy FIRST: <21> REST: <86>= #D[cons-copy FIRST: <23> REST: <87>= #D[cons-copy FIRST: <25> REST: <88>= #D[cons-copy FIRST: <27> REST: <89>= #D[cons-copy FIRST: <29> REST: <90>= #D[cons-copy FIRST: <31> REST: <91>= #D[cons-copy FIRST: <33> REST: <92>= #D[cons-copy FIRST: <35> REST: <93>= #D[list-copy NEW-LIST: <75> END-LIST: <94>= #D[null] ] NEW-LIST: <74> END-LIST: <94> ] NEW-LIST: <73> END-LIST: <94> ] NEW-LIST: <72> END-LIST: <94> ] NEW-LIST: <71> END-LIST: <94> ] NEW-LIST: <70> END-LIST: <94> ] NEW-LIST: <69> END-LIST: <94> ] NEW-LIST: <68> END-LIST: <94> ] NEW-LIST: <67> END-LIST: <94> ] NEW-LIST: <66> END-LIST: <94> ] NEW-LIST: <65> END-LIST: <94> ] NEW-LIST: <64> END-LIST: <94> ] NEW-LIST: <63> END-LIST: <94> ] NEW-LIST: <62> END-LIST: <94> ] NEW-LIST: <61> END-LIST: <94> ] NEW-LIST: <60> END-LIST: <94> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <95>= #D[cons-copy FIRST: <7> REST: #D[null-copy NEW-LIST: <79> END-LIST: <79> ] NEW-LIST: <78> END-LIST: <79> ] APPEND: #D[list-of-alists APPEND-RESULT: <95> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <96>= #D[cons-copy FIRST: <9> REST: <97>= #D[cons-copy FIRST: <11> REST: <98>= #D[cons-copy FIRST: <13> REST: <99>= #D[cons-copy FIRST: <15> REST: <100>= #D[cons-copy FIRST: <17> REST: <101>= #D[cons-copy FIRST: <19> REST: <102>= #D[cons-copy FIRST: <21> REST: <103>= #D[cons-copy FIRST: <23> REST: <104>= #D[cons-copy FIRST: <25> REST: <105>= #D[cons-copy FIRST: <27> REST: <106>= #D[cons-copy FIRST: <29> REST: <107>= #D[cons-copy FIRST: <31> REST: <108>= #D[cons-copy FIRST: <33> REST: <109>= #D[cons-copy FIRST: <35> REST: <110>= #D[list-copy NEW-LIST: <93> END-LIST: <111>= #D[null] ] NEW-LIST: <92> END-LIST: <111> ] NEW-LIST: <91> END-LIST: <111> ] NEW-LIST: <90> END-LIST: <111> ] NEW-LIST: <89> END-LIST: <111> ] NEW-LIST: <88> END-LIST: <111> ] NEW-LIST: <87> END-LIST: <111> ] NEW-LIST: <86> END-LIST: <111> ] NEW-LIST: <85> END-LIST: <111> ] NEW-LIST: <84> END-LIST: <111> ] NEW-LIST: <83> END-LIST: <111> ] NEW-LIST: <82> END-LIST: <111> ] NEW-LIST: <81> END-LIST: <111> ] NEW-LIST: <80> END-LIST: <111> ] NEW-LIST: <79> END-LIST: <111> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <112>= #D[cons-copy FIRST: <9> REST: #D[null-copy NEW-LIST: <97> END-LIST: <97> ] NEW-LIST: <96> END-LIST: <97> ] APPEND: #D[list-of-alists APPEND-RESULT: <112> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <113>= #D[cons-copy FIRST: <11> REST: <114>= #D[cons-copy FIRST: <13> REST: <115>= #D[cons-copy FIRST: <15> REST: <116>= #D[cons-copy FIRST: <17> REST: <117>= #D[cons-copy FIRST: <19> REST: <118>= #D[cons-copy FIRST: <21> REST: <119>= #D[cons-copy FIRST: <23> REST: <120>= #D[cons-copy FIRST: <25> REST: <121>= #D[cons-copy FIRST: <27> REST: <122>= #D[cons-copy FIRST: <29> REST: <123>= #D[cons-copy FIRST: <31> REST: <124>= #D[cons-copy FIRST: <33> REST: <125>= #D[cons-copy FIRST: <35> REST: <126>= #D[list-copy NEW-LIST: <110> END-LIST: <127>= #D[null] ] NEW-LIST: <109> END-LIST: <127> ] NEW-LIST: <108> END-LIST: <127> ] NEW-LIST: <107> END-LIST: <127> ] NEW-LIST: <106> END-LIST: <127> ] NEW-LIST: <105> END-LIST: <127> ] NEW-LIST: <104> END-LIST: <127> ] NEW-LIST: <103> END-LIST: <127> ] NEW-LIST: <102> END-LIST: <127> ] NEW-LIST: <101> END-LIST: <127> ] NEW-LIST: <100> END-LIST: <127> ] NEW-LIST: <99> END-LIST: <127> ] NEW-LIST: <98> END-LIST: <127> ] NEW-LIST: <97> END-LIST: <127> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <128>= #D[cons-copy FIRST: <11> REST: #D[null-copy NEW-LIST: <114> END-LIST: <114> ] NEW-LIST: <113> END-LIST: <114> ] APPEND: #D[list-of-alists APPEND-RESULT: <128> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <129>= #D[cons-copy FIRST: <13> REST: <130>= #D[cons-copy FIRST: <15> REST: <131>= #D[cons-copy FIRST: <17> REST: <132>= #D[cons-copy FIRST: <19> REST: <133>= #D[cons-copy FIRST: <21> REST: <134>= #D[cons-copy FIRST: <23> REST: <135>= #D[cons-copy FIRST: <25> REST: <136>= #D[cons-copy FIRST: <27> REST: <137>= #D[cons-copy FIRST: <29> REST: <138>= #D[cons-copy FIRST: <31> REST: <139>= #D[cons-copy FIRST: <33> REST: <140>= #D[cons-copy FIRST: <35> REST: <141>= #D[list-copy NEW-LIST: <126> END-LIST: <142>= #D[null] ] NEW-LIST: <125> END-LIST: <142> ] NEW-LIST: <124> END-LIST: <142> ] NEW-LIST: <123> END-LIST: <142> ] NEW-LIST: <122> END-LIST: <142> ] NEW-LIST: <121> END-LIST: <142> ] NEW-LIST: <120> END-LIST: <142> ] NEW-LIST: <119> END-LIST: <142> ] NEW-LIST: <118> END-LIST: <142> ] NEW-LIST: <117> END-LIST: <142> ] NEW-LIST: <116> END-LIST: <142> ] NEW-LIST: <115> END-LIST: <142> ] NEW-LIST: <114> END-LIST: <142> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <143>= #D[cons-copy FIRST: <13> REST: #D[null-copy NEW-LIST: <130> END-LIST: <130> ] NEW-LIST: <129> END-LIST: <130> ] APPEND: #D[list-of-alists APPEND-RESULT: <143> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <144>= #D[cons-copy FIRST: <15> REST: <145>= #D[cons-copy FIRST: <17> REST: <146>= #D[cons-copy FIRST: <19> REST: <147>= #D[cons-copy FIRST: <21> REST: <148>= #D[cons-copy FIRST: <23> REST: <149>= #D[cons-copy FIRST: <25> REST: <150>= #D[cons-copy FIRST: <27> REST: <151>= #D[cons-copy FIRST: <29> REST: <152>= #D[cons-copy FIRST: <31> REST: <153>= #D[cons-copy FIRST: <33> REST: <154>= #D[cons-copy FIRST: <35> REST: <155>= #D[list-copy NEW-LIST: <141> END-LIST: <156>= #D[null] ] NEW-LIST: <140> END-LIST: <156> ] NEW-LIST: <139> END-LIST: <156> ] NEW-LIST: <138> END-LIST: <156> ] NEW-LIST: <137> END-LIST: <156> ] NEW-LIST: <136> END-LIST: <156> ] NEW-LIST: <135> END-LIST: <156> ] NEW-LIST: <134> END-LIST: <156> ] NEW-LIST: <133> END-LIST: <156> ] NEW-LIST: <132> END-LIST: <156> ] NEW-LIST: <131> END-LIST: <156> ] NEW-LIST: <130> END-LIST: <156> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <157>= #D[cons-copy FIRST: <15> REST: #D[null-copy NEW-LIST: <145> END-LIST: <145> ] NEW-LIST: <144> END-LIST: <145> ] APPEND: #D[list-of-alists APPEND-RESULT: <157> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <158>= #D[cons-copy FIRST: <17> REST: <159>= #D[cons-copy FIRST: <19> REST: <160>= #D[cons-copy FIRST: <21> REST: <161>= #D[cons-copy FIRST: <23> REST: <162>= #D[cons-copy FIRST: <25> REST: <163>= #D[cons-copy FIRST: <27> REST: <164>= #D[cons-copy FIRST: <29> REST: <165>= #D[cons-copy FIRST: <31> REST: <166>= #D[cons-copy FIRST: <33> REST: <167>= #D[cons-copy FIRST: <35> REST: <168>= #D[list-copy NEW-LIST: <155> END-LIST: <169>= #D[null] ] NEW-LIST: <154> END-LIST: <169> ] NEW-LIST: <153> END-LIST: <169> ] NEW-LIST: <152> END-LIST: <169> ] NEW-LIST: <151> END-LIST: <169> ] NEW-LIST: <150> END-LIST: <169> ] NEW-LIST: <149> END-LIST: <169> ] NEW-LIST: <148> END-LIST: <169> ] NEW-LIST: <147> END-LIST: <169> ] NEW-LIST: <146> END-LIST: <169> ] NEW-LIST: <145> END-LIST: <169> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <170>= #D[cons-copy FIRST: <17> REST: #D[null-copy NEW-LIST: <159> END-LIST: <159> ] NEW-LIST: <158> END-LIST: <159> ] APPEND: #D[list-of-alists APPEND-RESULT: <170> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <171>= #D[cons-copy FIRST: <19> REST: <172>= #D[cons-copy FIRST: <21> REST: <173>= #D[cons-copy FIRST: <23> REST: <174>= #D[cons-copy FIRST: <25> REST: <175>= #D[cons-copy FIRST: <27> REST: <176>= #D[cons-copy FIRST: <29> REST: <177>= #D[cons-copy FIRST: <31> REST: <178>= #D[cons-copy FIRST: <33> REST: <179>= #D[cons-copy FIRST: <35> REST: <180>= #D[list-copy NEW-LIST: <168> END-LIST: <181>= #D[null] ] NEW-LIST: <167> END-LIST: <181> ] NEW-LIST: <166> END-LIST: <181> ] NEW-LIST: <165> END-LIST: <181> ] NEW-LIST: <164> END-LIST: <181> ] NEW-LIST: <163> END-LIST: <181> ] NEW-LIST: <162> END-LIST: <181> ] NEW-LIST: <161> END-LIST: <181> ] NEW-LIST: <160> END-LIST: <181> ] NEW-LIST: <159> END-LIST: <181> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <182>= #D[cons-copy FIRST: <19> REST: #D[null-copy NEW-LIST: <172> END-LIST: <172> ] NEW-LIST: <171> END-LIST: <172> ] APPEND: #D[list-of-alists APPEND-RESULT: <182> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <183>= #D[cons-copy FIRST: <21> REST: <184>= #D[cons-copy FIRST: <23> REST: <185>= #D[cons-copy FIRST: <25> REST: <186>= #D[cons-copy FIRST: <27> REST: <187>= #D[cons-copy FIRST: <29> REST: <188>= #D[cons-copy FIRST: <31> REST: <189>= #D[cons-copy FIRST: <33> REST: <190>= #D[cons-copy FIRST: <35> REST: <191>= #D[list-copy NEW-LIST: <180> END-LIST: <192>= #D[null] ] NEW-LIST: <179> END-LIST: <192> ] NEW-LIST: <178> END-LIST: <192> ] NEW-LIST: <177> END-LIST: <192> ] NEW-LIST: <176> END-LIST: <192> ] NEW-LIST: <175> END-LIST: <192> ] NEW-LIST: <174> END-LIST: <192> ] NEW-LIST: <173> END-LIST: <192> ] NEW-LIST: <172> END-LIST: <192> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <193>= #D[cons-copy FIRST: <21> REST: #D[null-copy NEW-LIST: <184> END-LIST: <184> ] NEW-LIST: <183> END-LIST: <184> ] APPEND: #D[list-of-alists APPEND-RESULT: <193> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <194>= #D[cons-copy FIRST: <23> REST: <195>= #D[cons-copy FIRST: <25> REST: <196>= #D[cons-copy FIRST: <27> REST: <197>= #D[cons-copy FIRST: <29> REST: <198>= #D[cons-copy FIRST: <31> REST: <199>= #D[cons-copy FIRST: <33> REST: <200>= #D[cons-copy FIRST: <35> REST: <201>= #D[list-copy NEW-LIST: <191> END-LIST: <202>= #D[null] ] NEW-LIST: <190> END-LIST: <202> ] NEW-LIST: <189> END-LIST: <202> ] NEW-LIST: <188> END-LIST: <202> ] NEW-LIST: <187> END-LIST: <202> ] NEW-LIST: <186> END-LIST: <202> ] NEW-LIST: <185> END-LIST: <202> ] NEW-LIST: <184> END-LIST: <202> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <203>= #D[cons-copy FIRST: <23> REST: #D[null-copy NEW-LIST: <195> END-LIST: <195> ] NEW-LIST: <194> END-LIST: <195> ] APPEND: #D[list-of-alists APPEND-RESULT: <203> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <204>= #D[cons-copy FIRST: <25> REST: <205>= #D[cons-copy FIRST: <27> REST: <206>= #D[cons-copy FIRST: <29> REST: <207>= #D[cons-copy FIRST: <31> REST: <208>= #D[cons-copy FIRST: <33> REST: <209>= #D[cons-copy FIRST: <35> REST: <210>= #D[list-copy NEW-LIST: <201> END-LIST: <211>= #D[null] ] NEW-LIST: <200> END-LIST: <211> ] NEW-LIST: <199> END-LIST: <211> ] NEW-LIST: <198> END-LIST: <211> ] NEW-LIST: <197> END-LIST: <211> ] NEW-LIST: <196> END-LIST: <211> ] NEW-LIST: <195> END-LIST: <211> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <212>= #D[cons-copy FIRST: <25> REST: #D[null-copy NEW-LIST: <205> END-LIST: <205> ] NEW-LIST: <204> END-LIST: <205> ] APPEND: #D[list-of-alists APPEND-RESULT: <212> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <213>= #D[cons-copy FIRST: <27> REST: <214>= #D[cons-copy FIRST: <29> REST: <215>= #D[cons-copy FIRST: <31> REST: <216>= #D[cons-copy FIRST: <33> REST: <217>= #D[cons-copy FIRST: <35> REST: <218>= #D[list-copy NEW-LIST: <210> END-LIST: <219>= #D[null] ] NEW-LIST: <209> END-LIST: <219> ] NEW-LIST: <208> END-LIST: <219> ] NEW-LIST: <207> END-LIST: <219> ] NEW-LIST: <206> END-LIST: <219> ] NEW-LIST: <205> END-LIST: <219> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <220>= #D[cons-copy FIRST: <27> REST: #D[null-copy NEW-LIST: <214> END-LIST: <214> ] NEW-LIST: <213> END-LIST: <214> ] APPEND: #D[list-of-alists APPEND-RESULT: <220> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <221>= #D[cons-copy FIRST: <29> REST: <222>= #D[cons-copy FIRST: <31> REST: <223>= #D[cons-copy FIRST: <33> REST: <224>= #D[cons-copy FIRST: <35> REST: <225>= #D[list-copy NEW-LIST: <218> END-LIST: <226>= #D[null] ] NEW-LIST: <217> END-LIST: <226> ] NEW-LIST: <216> END-LIST: <226> ] NEW-LIST: <215> END-LIST: <226> ] NEW-LIST: <214> END-LIST: <226> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <227>= #D[cons-copy FIRST: <29> REST: #D[null-copy NEW-LIST: <222> END-LIST: <222> ] NEW-LIST: <221> END-LIST: <222> ] APPEND: #D[list-of-alists APPEND-RESULT: <227> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <228>= #D[cons-copy FIRST: <31> REST: <229>= #D[cons-copy FIRST: <33> REST: <230>= #D[cons-copy FIRST: <35> REST: <231>= #D[list-copy NEW-LIST: <225> END-LIST: <232>= #D[null] ] NEW-LIST: <224> END-LIST: <232> ] NEW-LIST: <223> END-LIST: <232> ] NEW-LIST: <222> END-LIST: <232> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <233>= #D[cons-copy FIRST: <31> REST: #D[null-copy NEW-LIST: <229> END-LIST: <229> ] NEW-LIST: <228> END-LIST: <229> ] APPEND: #D[list-of-alists APPEND-RESULT: <233> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <234>= #D[cons-copy FIRST: <33> REST: <235>= #D[cons-copy FIRST: <35> REST: <236>= #D[list-copy NEW-LIST: <231> END-LIST: <237>= #D[null] ] NEW-LIST: <230> END-LIST: <237> ] NEW-LIST: <229> END-LIST: <237> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <238>= #D[cons-copy FIRST: <33> REST: #D[null-copy NEW-LIST: <235> END-LIST: <235> ] NEW-LIST: <234> END-LIST: <235> ] APPEND: #D[list-of-alists APPEND-RESULT: <238> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <239>= #D[cons-copy FIRST: <35> REST: <240>= #D[list-copy NEW-LIST: <236> END-LIST: <241>= #D[null] ] NEW-LIST: <235> END-LIST: <241> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <242>= #D[cons-copy FIRST: <35> REST: #D[null-copy NEW-LIST: <240> END-LIST: <240> ] NEW-LIST: <239> END-LIST: <240> ] APPEND: #D[list-of-alists APPEND-RESULT: <242> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <243>= #D[list-copy NEW-LIST: <240> END-LIST: <244>= #D[null] ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <245>= #D[null-copy NEW-LIST: <243> END-LIST: <243> ] APPEND: #D[list-of-alists APPEND-RESULT: <245> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <246>= #D[list-copy NEW-LIST: <243> END-LIST: <247>= #D[null] ] APPEND: #D[list-of-alists APPEND-RESULT: <246> ] ] REST: #D[null-of-alists APPEND-RESULT: <247> ] APPEND-RESULT: <243> ] APPEND-RESULT: <243> ] ] REST: #D[null-of-alists APPEND-RESULT: <244> ] APPEND-RESULT: <240> ] APPEND-RESULT: <239> ] ] REST: #D[null-of-alists APPEND-RESULT: <241> ] APPEND-RESULT: <235> ] APPEND-RESULT: <234> ] ] REST: #D[null-of-alists APPEND-RESULT: <237> ] APPEND-RESULT: <229> ] APPEND-RESULT: <228> ] ] REST: #D[null-of-alists APPEND-RESULT: <232> ] APPEND-RESULT: <222> ] APPEND-RESULT: <221> ] ] REST: #D[null-of-alists APPEND-RESULT: <226> ] APPEND-RESULT: <214> ] APPEND-RESULT: <213> ] ] REST: #D[null-of-alists APPEND-RESULT: <219> ] APPEND-RESULT: <205> ] APPEND-RESULT: <204> ] ] REST: #D[null-of-alists APPEND-RESULT: <211> ] APPEND-RESULT: <195> ] APPEND-RESULT: <194> ] ] REST: #D[null-of-alists APPEND-RESULT: <202> ] APPEND-RESULT: <184> ] APPEND-RESULT: <183> ] ] REST: #D[null-of-alists APPEND-RESULT: <192> ] APPEND-RESULT: <172> ] APPEND-RESULT: <171> ] ] REST: #D[null-of-alists APPEND-RESULT: <181> ] APPEND-RESULT: <159> ] APPEND-RESULT: <158> ] ] REST: #D[null-of-alists APPEND-RESULT: <169> ] APPEND-RESULT: <145> ] APPEND-RESULT: <144> ] ] REST: #D[null-of-alists APPEND-RESULT: <156> ] APPEND-RESULT: <130> ] APPEND-RESULT: <129> ] ] REST: #D[null-of-alists APPEND-RESULT: <142> ] APPEND-RESULT: <114> ] APPEND-RESULT: <113> ] ] REST: #D[null-of-alists APPEND-RESULT: <127> ] APPEND-RESULT: <97> ] APPEND-RESULT: <96> ] ] REST: #D[null-of-alists APPEND-RESULT: <111> ] APPEND-RESULT: <79> ] APPEND-RESULT: <78> ] ] REST: #D[null-of-alists APPEND-RESULT: <94> ] APPEND-RESULT: <60> ] APPEND-RESULT: <59> ] ] REST: #D[null-of-alists APPEND-RESULT: <76> ] APPEND-RESULT: <40> ] APPEND-RESULT: <39> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <248>= #D[null-copy NEW-LIST: <57> END-LIST: <57> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <249>= #D[null-copy NEW-LIST: <248> END-LIST: <248> ] APPEND: #D[list-of-alists APPEND-RESULT: <249> ] ] REST: #D[cons-of-alists FIRST: #D[append-list LIST: <250>= #D[null-copy NEW-LIST: <248> END-LIST: <248> ] APPEND: #D[cons-of-alists FIRST: #D[append-list LIST: <251>= #D[null-copy NEW-LIST: <250> END-LIST: <250> ] APPEND: #D[list-of-alists

It turns out, actually, that this was a lexical rule underconstrained for VAL features. Thanks @ebender :slight_smile: