                      if label != 'ROOT':
                          if head < child:
                              actions[RIGHT][label] = True
                          elif head > child:
                              actions[LEFT][label] = True
          return actions
  
      property action_types:
          def __get__(self):
              return (SHIFT, REDUCE, LEFT, RIGHT, BREAK)
 
</s> remove                             actions[RIGHT][label] = True
 </s> add                             if (RIGHT, label) not in seen_actions:
                                actions[RIGHT].append(label) </s> remove                         for move_str in ('B', 'I', 'L', 'U'):
                            actions[moves.index(move_str)][label] = True
 </s> add                         if label not in seen_entities:
                            seen_entities.add(label)
                            for move_str in ('B', 'I', 'L', 'U'):
                                actions[moves.index(move_str)].append(label) </s> remove                 actions[LEFT][label] = True
 </s> add                 if (LEFT, label) not in seen_actions:
                    actions[LEFT].append(label) </s> remove                 actions[RIGHT][label] = True
 </s> add                 if (RIGHT, label) not in seen_actions:
                    actions[RIGHT].append(label) </s> remove                         SHIFT: {'': True},
                        REDUCE: {'': True},
                        RIGHT: {},
                        LEFT: {},
                        BREAK: {'ROOT': True}})
 </s> add                         SHIFT: [''],
                        REDUCE: [''],
                        RIGHT: [],
                        LEFT: [],
                        BREAK: ['ROOT']})
        seen_actions = set()
                            if (LEFT, label) not in seen_actions:
                                actions[LEFT].append(label)
                      if label != 'ROOT':
                          if head < child:
                              actions[RIGHT][label] = True
                          elif head > child:
                            if (LEFT, label) not in seen_actions:
                                actions[LEFT].append(label)
          return actions
  
      property action_types:
          def __get__(self):
              return (SHIFT, REDUCE, LEFT, RIGHT, BREAK)
keep keep keep keep replace keep keep keep keep keep
 WIP on add_label bug during NER training

Currently when a new label is introduced to NER during training,
it causes the labels to be read in in an unexpected order. This
invalidates the model. 
spacy/syntax/arc_eager.pyx