anchor.diff:      cd ..
     '';
   
  +  passthru = {
  +    nativeCompilers = true;
  +  };
  +
     meta = with stdenv.lib; {
  -    homepage = "http://okmij.org/ftp/ML/index.html#ber-metaocaml";
  -    license = with licenses; [
  -      qpl /* compiler */
  -      lgpl2 /* library */
  -    ];
  -    description = "Conservative extension of OCaml";
  +    description     = "Multi-Stage Programming extension for OCaml";
  +    homepage        = http://okmij.org/ftp/ML/MetaOCaml.html;
  +    license         = with licenses; [ /* compiler */ qpl /* library */ lgpl2 ];
  +    maintainers     = with maintainers; [ thoughtpolice ];
  +
  +    branch          = baseOcamlBranch;
  +    platforms       = with platforms; linux ++ darwin;
  +    broken          = stdenv.isAarch64 || stdenv.isMips;
  +
       longDescription = ''
  -      A conservative extension of OCaml with the primitive type of code values,
  -      and three basic multi-stage expression forms: Brackets, Escape, and Run
  +      A simple extension of OCaml with the primitive type of code values, and
  +      three basic multi-stage expression forms: Brackets, Escape, and Run.
       '';
     };
   }
  
positive.code: { stdenv, fetchurl, ncurses, libX11, xproto, buildEnv }:
  
  let
     useX11 = stdenv.isi686 || stdenv.isx86_64;
     inherit (stdenv.lib) optionals;
  in
  
  stdenv.mkDerivation rec {
  
    name = "ber-metaocaml-${version}";
    version = "107";
  
    src = fetchurl {
      url = "https://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-4.07.1.tar.gz";
      sha256 = "1x4sln131mcspisr22qc304590rvg720rbl7g2i4xiymgvhkpm1a";
    };
  
  
negative.code:     sha256 = "0xy6n0yj1f53pk612zfmn49pn04bd75qa40xgmr0w0lzx6dqsfmm";
    };
  
    x11env = buildEnv { name = "x11env"; paths = x11deps; };
    x11lib = "${x11env}/lib";
    x11inc = "${x11env}/include";
  
    prefixKey = "-prefix ";
    configureFlags = optionals useX11
      [ "-x11lib" x11lib
        "-x11include" x11inc
        "-flambda"
      ];
  
    dontStrip = true;
    buildInputs = [ ncurses ] ++ optionals useX11 x11deps;
  
    postConfigure = ''
      tar -xvzf $metaocaml
  