anchor.diff:  -module(elixir_bitstring).
  --export([translate/3, expand/3, has_size/1]).
  +-export([translate/3, expand/3, has_size/1, format_error/1]).
  +-import(elixir_errors, [form_error/4]).
   -include("elixir.hrl").
   
   %% Expansion
  
positive.code:     %% safely raise; we're sure that this is the first size we encountered
      %% (default) otherwise we would have raised before.
      {Bin, default} when is_binary(Bin) ->
        elixir_errors:compile_error(Meta, ?m(E, file), "size is not supported for literal string in <<>>");
      {_, default} ->
        {[EArg], EE} = elixir_exp:expand_args(Args, E),
  
  
negative.code:         _ when is_integer(EArg) ->
            ok;
          _ ->
            form_error(Meta, ?m(E, file), ?MODULE, {bad_bitsize, EArg})
        end,
  
        expand_bit_info(Left, Meta, T, {size, [], [EArg]}, Types, EE);
      _ ->
        form_error(Meta, ?m(E, file), ?MODULE, duplicated_size_definition)
   end;
  
  expand_bit_info(Left, Meta, [{Expr, ExprMeta, Args} | T], Size, Types, E) when is_atom(Expr) ->
    case expand_bit_type(Expr, Args) of
  