anchor.diff:      | ps -> 
           !- prefix +> opt sepSpace ao genAccess -- propertyKind +> col sepSpace ps (genPat astContext) +> sepEq +> preserveBreakNln astContext e
   
  -and genPropertyWithGetSet astContext inter (b1, b2) =
  +and genPropertyWithGetSet astContext (b1, b2) =
       match b1, b2 with
       | PropertyBinding(ats, px, ao, isInline, mf1, PatLongIdent(ao1, s1, ps1, _), e1), 
         PropertyBinding(_, _, _, _, _, PatLongIdent(ao2, _, ps2, _), e2) ->
           let prefix =
               genPreXmlDoc px
  -            +> genAttributes astContext ats +> genMemberFlags astContext inter mf1
  +            +> genAttributes astContext ats +> genMemberFlags astContext mf1
               +> ifElse isInline (!- "inline ") sepNone +> opt sepSpace ao genAccess
           assert(ps1 |> Seq.map fst |> Seq.forall Option.isNone)
           assert(ps2 |> Seq.map fst |> Seq.forall Option.isNone)
  
positive.code:     | SigSimple(TDSRUnion(ao', xs)) ->
          typeName +> sepEq 
          +> indent +> sepNln +> opt sepNln ao' genAccess 
          +> col sepNln xs (genUnionCase astContext true)
          +> colPre sepNln sepNln ms (genMemberSig astContext)
          +> unindent
  
      | SigSimple(TDSRRecord(ao', fs)) ->
          typeName +> sepEq 
          +> indent +> sepNln +> opt sepNln ao' genAccess +> sepOpenS 
          +> atCurrentColumn (col sepSemiNln fs (genField astContext false "")) +> sepCloseS
          +> colPre sepNln sepNln ms (genMemberSig astContext)
          +> unindent 
  
  
negative.code: 
  /// Value inter indicates printing in a interface definition. 
  /// Each member is separated by a new line.
  and genMemberBindingList astContext = function
      | [x] -> genMemberBinding astContext x
  
      | MultilineBindingL(xs, ys) ->
          let prefix = sepNln +> col (rep 2 sepNln) xs (function 
                                     | Pair(x1, x2) -> genPropertyWithGetSet astContext (x1, x2) 
                                     | Single x -> genMemberBinding astContext x)
          match ys with
          | [] -> prefix
          | _ -> prefix +> rep 2 sepNln +> genMemberBindingList astContext ys
  
      | OneLinerBindingL(xs, ys) ->
          match ys with
          | [] -> col sepNln xs (genMemberBinding astContext)
          | _ -> col sepNln xs (genMemberBinding astContext) +> sepNln +> genMemberBindingList astContext ys
      | _ -> sepNone
  
  and genMemberBinding astContext b = 
      match b with 
      | PropertyBinding(ats, px, ao, isInline, mf, p, e) -> 
          let prefix =
              genPreXmlDoc px
              +> genAttributes astContext ats +> genMemberFlags astContext mf
              +> ifElse isInline (!- "inline ") sepNone +> opt sepSpace ao genAccess
  
          let propertyKind =
  