anchor.diff:          no -> no
       end;
   %% match([_|_], _, _, _) ->                        %No constructor
  -%%     erlang:error(illegal_pattern);
  +%%     eval_error(illegal_pattern);
   match([], [], Pbs, _) -> {yes,Pbs};
   match(Symb, Val, Pbs, Env) when is_atom(Symb) ->
       match_symb(Symb, Val, Pbs, Env);
  
positive.code: 
  get_pat_bitsize(all, {Ty,_,_,_}, _, _, _) ->
      if Ty =:= binary -> all;
         true -> erlang:error(illegal_bitsize)
      end;
  get_pat_bitsize(undefined, {Ty,_,_,_}, _, _, _) ->
      if Ty =:= utf8; Ty =:= utf16; Ty =:= utf32 -> undefined;
         true -> erlang:error(illegal_bitsize)
      end;
  get_pat_bitsize(S, _, _, _, _) when is_integer(S) -> S;
  get_pat_bitsize(S, _, Bbs, _, Env) when is_atom(S) ->
  
negative.code:     no ->
          case find(S, Bbs) of
          {ok,V} -> V;
          error -> eval_error({unbound_symb,S})
          end
      end.
  
  