anchor.diff:      Fun = fun (Cl, St0) -> to_icrt_cl(Cl, L, Vt, St0) end,
       mapfoldl(Fun, St, Cls).
   
  +to_icrt_cl([P,['when']|B], L, Vt0, St0) ->
  +    {Ep,Vt1,St1} = to_pat(P, L, Vt0, St0),
  +    {Eb,St2} = to_body(B, L, Vt1, St1),
  +    {{clause,L,[Ep],[],Eb},St2};
   to_icrt_cl([P,['when'|G]|B], L, Vt0, St0) ->
       {Ep,Vt1,St1} = to_pat(P, L, Vt0, St0),
       {Eg,St2} = to_body(G, L, Vt1, St1),
  
positive.code:     {Le,Vt2,St2} = from_expr(E, Vt1, St1),
      {Les,Vt3,St4} = from_body(Es, Vt2, St2),
      Leg = from_eq_tests(Eqt),                   %Implicit guard tests
      {[['let',[[Lp,['when'|Leg],Le]]|Les]],Vt3,St4};
  from_body([E|Es], Vt0, St0) ->
      {Le,Vt1,St1} = from_expr(E, Vt0, St0),
      {Les,Vt2,St2} = from_body(Es, Vt1, St1),
  
negative.code:     {Cdr,Eqt2,Vt2,St2} = from_pat(T, Vt1, St1),
      {from_cons(Car, Cdr),Eqt1++Eqt2,Vt2,St2};
  from_pat({tuple,_,Es}, Vt0, St0) ->
      {Ss,Eqt,Vt1,St1} = from_pats(Es, Vt0, St0),
      {[tuple|Ss],Eqt,Vt1,St1};
  from_pat({bin,_,Segs}, Vt0, St0) ->
      {Ss,Eqt,Vt1,St1} = from_pat_bitsegs(Segs, Vt0, St0),
  