anchor.diff:  
     void evaluate(){
       if(state.lastMatch != null) return;
  +    if(state.findPossibleMatches().length > 0) return;
       var matches = state.findExactMatches();
       if(matches.length > 1) throw "More that one match is not supported yet";
       if(matches.length == 1) {
  
positive.code: 
    void _onData(String ch){
      position ++;
  
      try{
        state = state.derive(ch);
        new ExactMatch(state).evaluate();
  
negative.code:         [this.matchStr='', this.lastMatch]);
  
    /// Find next state.
    /// TODO: I need to favor 'matchables' over 'exactMatch' if any exist.
    State derive(ch){
      if(rules.isEmpty) {
        throw new NoMatch(this);
      }
      if(lastMatch != null){
        return deriveLastMatch(ch);
  