anchor.diff:  //        |> List.map (fun (c, heads) -> c, rawHeadsToProbs heads)
   //        |> Seq.iter srl.Add
           let srl = new Dictionary<char, (NonTerminal * Probability.T) list>()
  -        ['a', [A, 0.2]; 'b', [B, 0.4]; 'c', [B, 0.4]] 
  +        ['a', [A, 0.2; B, 0.1]; 'b', [B, 0.4]; 'c', [B, 0.3]] 
           |> List.map (fun (c, heads) -> c, rawHeadsToProbs heads)
           |> Seq.iter srl.Add
           let erl: NonTerminal list = []
  
positive.code:                          searchLen
              checkOneType (fun str searchLen -> CYKMatrixBFS.recognize str rules nonterminals S searchLen false)
                           (fun toCheck -> isAnswerValid toCheck)
                           "not parallel"
                           str
                           searchLen
  
  //        check "abb"      2
          check "abb"      3    
  //        check "aaabbcc"  5
  //        check "aaabb"    5
  //        check "aaaaabbb" 6
  
negative.code: //        check "aaaabb" 1
  //        check "aaaabb" 0
  //        
  //        check (String.replicate 300 "abb") 100
          checkTime (String.replicate 300 "abb") 100
  //        checkTime ((String.replicate 511 "abbb") + "abb") 50
           
  //        check "aabb"
  