anchor.diff:               (string() | binary(), binary) -> binary();
                (string() | binary(), text) -> string();
                (string() | binary(), json) -> list() | map();
  -             (string() | binary(), lines) -> [string()];
  +             (string() | binary(), lines) -> [binary()];
                (string() | binary(), tsv) -> [binary()].
  -convert(X, lines) when is_binary(X) -> binary:split(X, <<"\n">>);
  +convert(X, lines) -> X;
   convert(X, binary) when is_binary(X) -> X;
   convert(X, binary) -> list_to_binary(X);
   convert(X, text) when is_binary(X) -> binary_to_list(X);
  
positive.code:     Script2 = lists:filter(fun (#operation{name = pool}) -> true; (_) -> false end, enumerate_pools(Script)),
      Script3 = mzbl_ast:map_meta(fun (Meta, Op) -> [{function, Op}|Meta] end, Script2),
      {Script3, Env2, Asserts}.
  
  import_resource(Env, File, Type) ->
      try
  
negative.code:                         end
                  end
          end,
          case Type of
              lines ->  convert(string2lines(erlang:binary_to_list(Content), []), Type) ;
              _ -> convert(Content, Type)
          end
      catch
          _:Reason ->
              lager:error("Resource ~p(~p) import error: ~p", [File, Type, Reason]),
  