anchor.diff:  and Ann<'T> =
       | Constr of 'T      // ^ core erlang construct
       | Ann of 'T * List<Const> // ^ core erlang annotated construct
  -    static member prt p ann : string =
  +    static member prt (printT: 'T -> string) ann : string =
           match ann with
  -        | Constr t -> p t
  -        | Ann (t, _) -> p t
  +        | Constr t -> printT t
  +        | Ann (t, _) -> printT t
   
   and Function = Function of Atom * int
   with
  
positive.code:         | Binary bs ->
              let x =
                  bs
                  |> List.map (fun e -> BitString.prt (Exps.prt 0) e)
                  |> String.concat commaNl
              sprintf "%s#{%s}#" indent x
          | Seq (first, second) ->
  
negative.code:     | L of 'T list // no tail expr
      | LL of 'T list * 'T //head elements * tail
  with
      static member prt (printT: 'T -> string) (l: ExprList<'T>) =
          match l with
          | L ls ->
              let heads = String.concat "," (List.map printT ls)
  