there are several matches, so we always shallow copy the features
                    # first!
                    features = self.features.copy()
                    for k, v in features.items():
                        if isinstance(v, Getter):
                            features[k] = v(succ, context=context, location=location)
            else:
                features = None
            outset.add(span.start, span.end, anntype, features=features)

    def _add4result(self, succ, resultidx, context, loc