anchor.diff:      let printArg = function
           | Some(attr) -> "["+(Source.toString attr)+"]"
           | None -> ""
  -    let printListBrackets  l_br r_br metaArgs = if (List.isEmpty metaArgs) then "" else l_br+(String.concat " " (List.map Source.toString metaArgs))+r_br
  +    let printListBrackets  l_br r_br metaArgs =
  +        if (List.isEmpty metaArgs) then ""
  +        else l_br + (String.concat " " (List.map Source.toString metaArgs)) + r_br
       let printMetaArgs = printListBrackets "<<" ">>"
       let printArgs = printListBrackets "[" "]"
       let rec priority = function 
  
positive.code: let printSourceOpt = function None -> "" | Some arg -> (fst arg)
  
  type TextBox =
  | Tabbed of TextBox list
  | Line of TextBox list
  | Str of string
  
  let printTextBox tabSize splitTabSize windowSize tbList =
      let rec printIdentedList tbList ident =
          List.collect (fun t ->
              match t with
              | Str(s) -> [(s, ident)]
              | Tabbed(tbList) -> (printIdentedList tbList (ident+tabSize))@[("\n", ident)] //[("\n", ident)]@
              | Line(tbList)   -> (printIdentedList tbList (ident        ))@[("\n", ident)] //[("\n", ident)]@
          ) tbList
  
      let strList = printIdentedList tbList 0
  
      let (text,_,_) = 
          List.fold (fun (str_acc, newline, chars_in_line) (word,ident) -> 
              if word="\n" then 
                  if newline then
                      (str_acc, true, 0)
  
negative.code:                     (str_acc+word, true, 0)
              else
                  let spaces_count = if newline then ident else 2
                  if (String.length word <= windowSize - chars_in_line - spaces_count) then
                      let appended = (String.replicate spaces_count " ")+word
                      (str_acc + appended, false, chars_in_line + (String.length appended))
                  else
                      let newlineStr = (String.replicate (ident + splitTabSize) " ") + word
                      (str_acc + "\n" + newlineStr, false, String.length newlineStr)
              ) ("", true, 0) strSeq
      text
  
  let printRule (rule:Rule.t<Source.t, Source.t>) = 
      let bracketsIf cond s = if cond then seq { yield Str "("; yield! s; yield Str ")"} else s
      let startSign = if rule._public then "+" else ""
      let printAttr = function
          | Some(attr) -> "{"+(Source.toString attr)+"}"
  