anchor.diff:          substituteInPlace "$file" --replace "${erlang}/lib/erlang" "$out"
         done
       fi
  +  '' + lib.optionalString stripDebug ''
  +    # strip debug symbols to avoid hardreferences to "foreign" closures actually
  +    # not needed at runtime, while at the same time reduce size of BEAM files.
  +    erl -noinput -eval 'lists:foreach(fun(F) -> io:format("Stripping ~p.~n", [F]), beam_lib:strip(F) end, filelib:wildcard("'"$out"'/**/*.beam"))' -s init stop
     '';
   
     # TODO investigate why the resulting closure still has
  
positive.code:   overridable = builtins.removeAttrs attrs [ "compileFlags" "mixNixDeps" ];
  in
  assert mixNixDeps != { } -> mixFodDeps == null;
  stdenv.mkDerivation (overridable // {
    # rg is used as a better grep to search for erlang references in the final release
    nativeBuildInputs = nativeBuildInputs ++ [ erlang hex elixir makeWrapper git ripgrep ];
  
negative.code: , mixNixDeps ? { }
  , elixir ? inputs.elixir
  , hex ? inputs.hex.override { inherit elixir; }
  , stripDebug ? true
  , ...
  }@attrs:
  let
  