          elif st.stack_depth() < 1:
              return False
          else:
              return True
  
      @staticmethod
      cdef int transition(StateClass st, int label) nogil:
          st.set_break(st.B(0))
 
</s> remove         while st.stack_depth() >= 2 and st.has_head(st.S(0)):
            st.pop()
        if st.stack_depth() == 1:
            st.pop()
        else:
            st.unshift()
 </s> add         st.fast_forward() </s> remove             elif self.buffer_length() >= 2 and self.stack_depth() == 0:
 </s> add             elif (self.length - self._b_i) >= 1 and self.stack_depth() == 0: </s> remove     cdef void set_break(self, int i) nogil:
        if 0 <= i < self.length:
            self._sent[i].sent_end = True
            self._break = i
 </s> add     cdef void set_break(self, int _) nogil:
        self._sent[self.B(0)].sent_end = True
        self._break = self._b_i </s> remove                     if label != 'ROOT':
 </s> add                     if label != 'root':
        elif (st.S(0) + 1) != st.B(0):
            # Must break at the token boundary
            return False
          elif st.stack_depth() < 1:
              return False
        elif (st.S(0) + 1) != st.B(0):
            # Must break at the token boundary
            return False
          else:
              return True
  
      @staticmethod
      cdef int transition(StateClass st, int label) nogil:
          st.set_break(st.B(0))
keep add keep keep keep keep keep keep
 * Fixes to unshift/fast-forward strategy. Getting 91.55 greedy on NW dev, gold preproc 
spacy/syntax/arc_eager.pyx