anchor.diff:  is_safe_bool_expr_1(#c_literal{val=Val}, _Sub, _) ->
       is_boolean(Val);
   is_safe_bool_expr_1(#c_var{name=V}, _Sub, BoolVars) ->
  -    gb_sets:is_element(V, BoolVars);
  +    cerl_sets:is_element(V, BoolVars);
   is_safe_bool_expr_1(_, _, _) -> false.
   
   is_safe_bool_expr_list([C|Cs], Sub, BoolVars) ->
  
positive.code: 
  %% Variable value info.
  -record(sub, {v=[],				%Variable substitutions
  	      s=[],				%Variables in scope
  	      t=[],				%Types
  	      in_guard=false}).			%In guard or not.
  
  -type type_info() :: cerl:cerl() | 'bool' | 'integer'.
  
negative.code: verify_scope(E, #sub{s=Scope}) ->
      Free0 = cerl_trees:free_variables(E),
      Free = [V || V <- Free0, not is_tuple(V)],	%Ignore function names.
      case ordsets:is_subset(Free, cerl_sets:to_list(Scope)) of
  	true -> true;
  	false ->
  	    io:format("~p\n", [E]),
  	    io:format("~p\n", [Free]),
  	    io:format("~p\n", [cerl_sets:to_list(Scope)]),
  	    false
      end.
  -endif.
  