anchor.diff: -{ stdenv, fetchFromGitHub, ocaml, findlib }:
  +{ stdenv, fetchFromGitHub, buildDunePackage, ocaml, findlib }:
   
   let param = {
     "4.02" = {
  
positive.code:     version = "5.3+4.08.0";
      sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
    "4.09" = {
      version = "5.3+4.08.0";
      sha256 = "0vdmhs3hpmh5iclx4lzgdpf362m4l35zprxs73r84z1yhr4jcr4m"; };
  }.${ocaml.meta.branch};
  in
    stdenv.mkDerivation {
      name = "ocaml${ocaml.version}-ppx_tools-${param.version}";
      src = fetchFromGitHub {
        owner = "alainfrisch";
        repo = "ppx_tools";
        rev = if param ? rev then param.rev else param.version;
        inherit (param) sha256;
      };
  
      nativeBuildInputs = [ ocaml findlib ];
      buildInputs = [ ocaml findlib ];
  
negative.code: 
      dontStrip = true;
  
      meta = meta // { inherit (ocaml.meta) platforms; };
    }
  