anchor.diff:      """ config
       |> prepend newline
       |> should equal """
  -let user_printers = ref([] : (string * (term -> unit)) list)
  -let the_interface = ref([] : (string * (string * hol_type)) list)"""
  +let user_printers = ref ([] : (string * (term -> unit)) list)
  +let the_interface = ref ([] : (string * (string * hol_type)) list)"""
   
   [<Test>]
   let ``should print named patterns on explicit constructors``() =
  
positive.code:     member this.Function1<'a>(x, y) =
          printfn "%A, %A" x y
  
      abstract abstractMethod<'a, 'b> : 'a * 'b -> unit
      override this.abstractMethod<'a, 'b>(x:'a, y:'b) =
           printfn "%A, %A" x y""" config
      |> prepend newline
      |> should equal """
  type Test() = 
      member this.Function1<'a>(x, y) = printfn "%A, %A" x y
      abstract abstractMethod<'a, 'b> : 'a * 'b -> unit
      override this.abstractMethod<'a, 'b>(x : 'a, y : 'b) = printfn "%A, %A" x y"""
  
  [<Test>]
  let ``params arguments``() =
  
negative.code:     formatSourceString false """
      type MyClassBase1() =
         let mutable z = 0
         abstract member Function1 : int -> int
         default u.Function1(a : int) = z <- z + a; z
  
      type MyClassDerived1() =
         inherit MyClassBase1()
         override u.Function1(a: int) = a + 1""" config
      |> prepend newline
      |> should equal """
  type MyClassBase1() = 
      let mutable z = 0
      abstract Function1 : int -> int
      override u.Function1(a : int) = 
          z <- z + a
          z
  
  type MyClassDerived1() = 
      inherit MyClassBase1()
      override u.Function1(a : int) = a + 1"""
  
  [<Test>]
  let ``intrinsic type extensions``() =
  