Moving a constraint into a new supertype breaks the grammar

This seems really basic but I can’t spot the problem, maybe someone could easily remind me what I’m forgetting.

The following works (the grammar compiles):

dormir_v := v_-_le & 
  [ STEM < "dormir" >, 
    SYNSEM.LKEYS.KEYREL.PRED "_dormir_v_rel",
    TRAITS native_token_list ].

The following breaks:

native_le := lex-item & 
[ TRAITS native_token_list ].

dormir_v := v_-_le & native_le & 
  [ STEM < "dormir" >, 
    SYNSEM.LKEYS.KEYREL.PRED "_dormir_v_rel" ].

The ACE error is:

study_lexeme `dormir_v': dag incompatible with type `v_-_le'

v_-_le ultimately inherits from lex-item, and lex-item has TRAITS in it:

lex-item :+
"""
This links the CFROM and CTO to the position in the orthography.
OZ 15-Nov-2022: I am taking out CTO and CFROM constraints for now
because they break compilation.
"""
[ TRAITS #traits,
  STEM [ FROM #from,
	 TO #to ],
  ;SYNSEM.LKEYS.KEYREL [ CFROM #from, 
	;	        CTO #to	],
  ;SYNSEM.LKEYS.ALTKEYREL [ CFROM #from, 
	;	           CTO #to	],
  TOKENS tokens &
	 [ +LIST #traits &
		 [ FIRST.+FROM #from ], 
	   +LAST.+TO #to ] ].

Instances can only have one type that they inherit from.