anchor.diff:  		  end
   	  end;
         implicit_fun -> %%done;
  -	  D = lay(erl_syntax:implicit_fun_name(Node),reset_prec(Ctxt)),
  +	  D = lay(refac_syntax:implicit_fun_name(Node),reset_prec(Ctxt)),
   	  beside(floating(text("fun ")),D);
         list_comp ->  %% done;
   	  Ctxt1 = reset_prec(Ctxt),
  -	  D1 = lay(erl_syntax:list_comp_template(Node),Ctxt1),
  -	  Es = seq(erl_syntax:list_comp_body(Node),floating(text(",")),Ctxt1,fun lay/2),
  -	  D2 = lay_elems(fun refac_prettypr_0:par/1, Es, erl_syntax:list_comp_body(Node)),
  -	  D1EndLn = get_end_line(erl_syntax:list_comp_template(Node)),
  -	  D2StartLn = get_start_line(hd(erl_syntax:list_comp_body(Node))),
  +	  D1 = lay(refac_syntax:list_comp_template(Node),Ctxt1),
  +	  Es = seq(refac_syntax:list_comp_body(Node),floating(text(",")),Ctxt1,fun lay/2),
  +	  D2 = lay_elems(fun refac_prettypr_0:par/1, Es, refac_syntax:list_comp_body(Node)),
  +	  D1EndLn = get_end_line(refac_syntax:list_comp_template(Node)),
  +	  D2StartLn = get_start_line(hd(refac_syntax:list_comp_body(Node))),
   	  D3 =  case (D2StartLn-D1EndLn==0) and (D1EndLn=/=0) of
   		    true -> beside(D1, beside(floating(text(" || ")),beside(D2,floating(text("]")))));
   		    _ ->  par([D1,beside(floating(text("|| ")),beside(D2,floating(text("]"))))])
  
positive.code: 	  D4 = lay_two_docs(Ctxt,D12,D3,OpEndLn,RightStartLn),
  	  maybe_parentheses(D4,Prec,Ctxt);
        prefix_expr ->  %% done;
  	  Operator = erl_syntax:prefix_expr_operator(Node),
  	  PrefixArg = erl_syntax:prefix_expr_argument(Node),
  	  {{Prec,PrecR},Name} = case erl_syntax:type(Operator) of
  				  operator ->
  				      N = erl_syntax:operator_name(Operator),
  				      {preop_prec(N),N};
  				  _ -> {{0,0},any}
  				end,
  
negative.code: 	  beside(floating(text("-")),beside(D,floating(text("."))));
        binary ->   %% done
  	  Ctxt1 = reset_prec(Ctxt),
  	  Fields = refac_syntax:binary_fields(Node),
  	  Es = seq(Fields,floating(text(",")),Ctxt1,fun lay/2),
  	  beside(floating(text("<<")),beside(lay_elems(fun refac_prettypr_0:par/1, Es, Fields),floating(text(">>"))));
        binary_field ->
  	  Ctxt1 = reset_prec(Ctxt),
  	  D = lay(refac_syntax:binary_field_body(Node),Ctxt1),
  	  %% Begin of modification of HL
  	  D1 = case
  		 refac_syntax:type(refac_syntax:binary_field_body(Node))
  		   of
  		 application ->
  		     beside(floating(text("(")),beside(D,floating(text(")"))));
  		 _ -> D
  	       end,
  	  %% End of modification by HL
  	  D2 = case refac_syntax:binary_field_types(Node) of
  		 [] -> empty();
  		 Ts ->
  		     beside(floating(text("/")),lay_bit_types(Ts,Ctxt1))
  