anchor.diff:  	  	 G -> lay(G, Ctxt1)
   	       end,
   	  BodyDocs = seq(Body, floating(text(",")), Ctxt1, fun lay/2),
  -	  D3 = lay_elems(fun refac_prettypr_0:sep/1, BodyDocs, Body),
  +	  D3 = lay_body_elems(fun refac_prettypr_0:sep/1, BodyDocs, Body),
   	  HeadLastLn = case refac_syntax:clause_guard(Node) of
   	  		 none -> case Pats of
   	  			   [] -> get_start_line(Node);
  
positive.code: 	  Ctxt1 = reset_prec(Ctxt),
  	  Body = refac_syntax:block_expr_body(Node),
  	  Es = seq(Body, floating(text(", ")), Ctxt1, fun lay/2),
  	  sep([text("begin"), nest(Ctxt1#ctxt.break_indent, lay_elems(fun refac_prettypr_0:sep/1, Es, Body)), text("end")]);
        catch_expr ->  %% done;
  	  {Prec, PrecR} = preop_prec('catch'),
  	  D = lay(refac_syntax:catch_expr_body(Node), set_prec(Ctxt, PrecR)),
  
negative.code:       try_expr ->
  	      Ctxt1 = reset_prec(Ctxt),
  	      Body = refac_syntax:try_expr_body(Node),
  	      D1 = lay_body_elems(fun refac_prettypr_0:sep/1, seq(Body,floating(text(", ")),Ctxt1,fun lay/2),Body),			 
  	      Es0 = [text("end")],
  	      Es1 = case refac_syntax:try_expr_after(Node) of
  			[] -> Es0;
  