anchor.diff:  atom2op(eq) -> 35; %( X Y -- true/false )
   %atom2op(scripthash) -> 36; %( size start -- <<Bytes:256>> )
   %this opcode looks at a section of code that was already processed, and computes the hash of those words. paytoscripthash
  -atom2op(seperate) -> 36;
  -atom2op(many_sections) -> 37;
  -atom2op(hash_section) -> 38;
  -atom2op(to_r) -> 39;
  -atom2op(from_r) -> 40;
  -atom2op(section_size) -> 41;
  -atom2op(true) -> true;
  -atom2op(false) -> false.
  +atom2op(seperate) -> 36; %( -- )
  +atom2op(many_sections) -> 37; %( -- Many )
  +atom2op(hash_section) -> 38; %( Number -- Hash )
  +atom2op(to_r) -> 39; %( V -- )
  +atom2op(from_r) -> 40; %( -- V )
  +atom2op(section_size) -> 41; %( Number -- Other )
  +atom2op(true) -> true; %( -- true )
  +atom2op(false) -> false. %( -- false )
   
   hashlock(ToAmount, SecretHash) ->
       true = ((ToAmount == 0) or (ToAmount == 1)),
  
positive.code: atom2op(gt) -> 6;%( X Y -- true/false )
  atom2op(lt) -> 7;%( X Y -- true/false )
  atom2op(eq_num) -> 8;%( X Y -- true/false )
  atom2op(switch) -> 17;% conditional statement
  % true switch <<"executed">> else <<"ignored">> then 
  % false switch <<"ignored">> else <<"executed">> then 
  atom2op(else) -> 18;% part of an switch conditional statement
  atom2op(swap) -> 9; %( A B -- B A )
  atom2op(drop) -> 10;%( X -- )
  atom2op(dup) -> 11;%( X -- X X )
  
negative.code: run([18|Code], UsedCode, Alt, Stack) -> %else
      {H, T} = remove_till(19, Code),
      run(T, [18|(H++UsedCode)], Alt, Stack);
  run([37|Code], UsedCode, Alt, Stack) -> %counts up how many sections of code we have. Each section is seperated by "seperate" 36.
      Sections = 1 + count(36, Code ++ UsedCode),
      run(Code, [37|UsedCode], Alt, [Sections|Stack]);
  