anchor.diff:          if i = fin then
               node.Add path.Value.[i] (MatchMap( fMap , None ))
           else
  -            if path.Value.[i] = '%' then
  -                let fmtChar = path.Value.[i + 1] ///HACK fix out of bounds gap
  +            if path.Value.[i] = '%' && i + 1 < fin then
  +                let fmtChar = path.Value.[i + 1]
                   if formatStringMap.ContainsKey fmtChar then
                       let nMatchMap = fmtChar :: fMap
  -                    let newNodeBranch = Node(EmptyMap)
  +                    let newNodeBranch = Node(EmptyMap) //doublr check logic & relation to i + 1 = 2
                       node.RouteFn <- MatchMap( nMatchMap , Some newNodeBranch )
                       go (i + 2) newNodeBranch nMatchMap
                   else
  
positive.code:             else None
          go ipos x
  
  
          // let rec go l r = 
          //     if l > r then 
  
negative.code: 
          let pathLen = path.Length
  
  
          let findClosure (path:string) ipos (inode:Node) =
              let pathLen = path.Length
  