anchor.diff:  encode_list([], A) ->
       A;
   encode_list([B1], A) ->
  -    <<A/binary,(b64e(B1 bsr 2)):8,(b64e((B1 band 3) bsl 4)):8,$=:8,$=:8>>;
  +    <<A/bits,(b64e(B1 bsr 2)):8,(b64e((B1 band 3) bsl 4)):8,$=:8,$=:8>>;
   encode_list([B1,B2], A) ->
  -    <<A/binary,(b64e(B1 bsr 2)):8,
  +    <<A/bits,(b64e(B1 bsr 2)):8,
         (b64e(((B1 band 3) bsl 4) bor (B2 bsr 4))):8,
         (b64e((B2 band 15) bsl 2)):8, $=:8>>;
   encode_list([B1,B2,B3|Ls], A) ->
       BB = (B1 bsl 16) bor (B2 bsl 8) bor B3,
       encode_list(Ls,
  -                <<A/binary,(b64e(BB bsr 18)):8,
  +                <<A/bits,(b64e(BB bsr 18)):8,
                     (b64e((BB bsr 12) band 63)):8,
                     (b64e((BB bsr 6) band 63)):8,
                     (b64e(BB band 63)):8>>).
  
positive.code: decode_binary(<<C4:8, Cs/bits>>, A, B1, B2, B3) ->
      case b64d(C4) of
          ws                -> decode_binary(Cs, A, B1, B2, B3);
          eq when B3 =:= eq -> only_ws_binary(Cs, <<A/binary,B1:6,(B2 bsr 4):2>>);
          eq                -> only_ws_binary(Cs, <<A/binary,B1:6,B2:6,(B3 bsr 2):4>>);
          B4                -> decode_binary(Cs, <<A/binary,B1:6,B2:6,B3:6,B4:6>>)
      end.
  
  only_ws_binary(<<>>, A) ->
  
negative.code: decode_list([C4 | Cs], A, B1, B2, B3) ->
      case b64d(C4) of
          ws                -> decode_list(Cs, A, B1, B2, B3);
          eq when B3 =:= eq -> only_ws(Cs, <<A/bits,B1:6,(B2 bsr 4):2>>);
          eq                -> only_ws(Cs, <<A/bits,B1:6,B2:6,(B3 bsr 2):4>>);
          B4                -> decode_list(Cs, <<A/bits,B1:6,B2:6,B3:6,B4:6>>)
      end.
  
  decode_binary(<<C1:8, Cs/bits>>, A) ->
  