anchor.diff:  expand_args([OP | Rest]) ->
       [OP | expand_args(Rest)];
   expand_args([]) -> [].
  -
  -to_bytecode([Op|Rest], Options) ->
  -    [aeb_opcodes:m_to_op(Op)|to_bytecode(Rest, Options)];
  -to_bytecode([], _) -> [].
  
positive.code: %%%-------------------------------------------------------------------
  %%% @copyright (C) 2017, Aeternity Anstalt
  %%% @doc
  %%%     Assembler for aevm machine code
  %%% @end
  %%% Created : 21 Dec 2017
  %%%-------------------------------------------------------------------
  
negative.code:     Listing = format(Asm),
      io:format("~p~n", [Listing]).
  
  format(Asm) -> format(Asm, 0).
  
  format([Mnemonic | Rest], Address) ->
      Op = aeb_opcodes:m_to_op(Mnemonic),
      case (Op >= ?PUSH1) andalso (Op =< ?PUSH32) of
          true ->
              Arity = aeb_opcodes:op_size(Op) - 1,
              {Arg, Code} = get_arg(Arity, Rest),
              "        " ++ atom_to_list(Mnemonic)
                  ++ "        " ++ Arg ++"\n" 
                  ++ format(Code, Address + Arity + 1);
          false ->
              "        " ++ atom_to_list(Mnemonic)
                  ++ format(Rest, Address + 1)
      end;
  format([],_) -> [].
  
  %% TODO: Are args encoded as one list element or as a number of bytes...
  get_arg(_, [Arg|Code]) ->
      {Arg, Code}.
  
  
  file(Filename, Options) ->
  