anchor.diff:          true -> St;
           false -> add_error(L, {unbound_symb,S}, St)
       end;
  -pat_bit_size(_, _, _, _, _, L, St) -> add_error(L, illegal_bitsize, St).
  +pat_bit_size(_, _, _, _, _, L, St) -> illegal_bitsize_error(L, St).
   
   pat_bit_expr(N, Bvs, _, _, _, St) when is_number(N) -> {Bvs,St};
   pat_bit_expr('_', Bvs, _, _, _, St) -> {Bvs,St};
  
positive.code: multi_var_error(L, V, St) ->
      add_error(L, {multi_var,V}, St).
  
  unbound_func_error(L, F, St) ->
      add_error(L, {unbound_func,F}, St).
  
  illegal_guard_error(L, St) ->
      add_error(L, illegal_guard, St).
  
negative.code: 
  pat_bit_size(all, {Ty,_,_,_}, _, _, _, L, St) ->
      if Ty =:= binary -> St;
         true -> illegal_bitsize_error(L, St)
      end;
  pat_bit_size(undefined, {Ty,_,_,_}, _, _, _, L, St) ->
      if Ty =:= utf8; Ty =:= utf16; Ty =:= utf32 -> St;
         true -> illegal_bitsize_error(L, St)
      end;
  pat_bit_size(N, _, _, _, _, _, St) when is_integer(N), N > 0 -> St;
  pat_bit_size(S, _, Bvs, _, Env, L, St) when is_atom(S) ->
  