anchor.diff:          member t.Item with get(x) = t.Text.[x + t.Offset]
           override t.ToString () = t.Text.Substring(t.Offset) 
   
  -let (|Skip|_|) (mStr: string) (text: StringWindow) =
  -    if text.StartsWith(mStr) then 
  -        Some (None, text.Subwindow(mStr.Length))
  -    else None
  -
  -let (|StrToVal|_|) (mStr: string) (result: ExprTypes) (text: StringWindow) =
  -    if text.StartsWith(mStr) then 
  -        Some (Some(result), text.Subwindow(mStr.Length))
  -    else None
  -
  -let (|StrsToVal|_|) (mStrs: string list) (result: ExprTypes) (text: StringWindow) =
  -    match mStrs |> List.tryFind (fun mStr -> text.StartsWith(mStr)) with
  -    | Some (matched) -> Some (Some(result), text.Subwindow(matched.Length))
  -    | None -> None
   
   type DelimType =
       | Open
  
positive.code: //        { Pattern = [SCap "loop"; SCap "{"; SCap "}"];              Func = generateLoop }
      ]
  
  let startingExpressionType =
      { Pattern = [Open]; Func = (fun exprs -> SubExpression exprs) }
  
  let (|FirstExpression|_|) (typesStack: SubexpressionType list) (text: StringWindow) =
      match typesStack with
      | [] -> Some (startingExpressionType, text)
      | _ -> None
  
  let (|NewExpression|_|) (typesStack: SubexpressionType list) (text: StringWindow) =
      let matches, str = 
  
negative.code:             | NewExpression currentCaptures (subtype, crem) ->
                  let rem, value = parseProgramInner crem [SubExpression []] (subtype :: currentCaptures)               
                  parseProgramInner rem (SubExpression (value :: cSubExpr) :: rSubExprs) currentCaptures
              | Skip [" "; "\t"; "\r"; "\n"] res
              | MapSymbol res
              | TextCapture '"' res
              | TextCapture ''' res 
              | Num res ->
  