anchor.diff:      { name
       , version
       , src
  +    , src_elm_common
       , src_path ? "src/${name}"
       , node_modules
       , elm_packages
  -    , patchPhase ? null
  +    , patchPhase ? ""
       , postInstall ? null
       }:
       let
  
positive.code:           cp build/* $out/ -R
            runHook postInstall
          '';
          inherit postInstall patchPhase;
          shellHook = ''
            cd ${src_path}
          '' + self.configurePhase;
  
negative.code:                     )
            src;
          buildInputs = [ elmPackages.elm ] ++ (builtins.attrValues node_modules);
          patchPhase = ''
            for item in ./*; do
              if [ -h $item ]; then
                rm -f $item
                cp ${src_elm_common}/`basename $item` ./
              fi
            done
            if [ -d src ]; then
              for item in ./src/*; do
                if [ -h $item ]; then
                  rm -f $item
                  cp ${src_elm_common}/`basename $item` ./src/
                fi
              done
            fi
          '' + patchPhase;
          configurePhase = ''
            rm -rf node_modules
            rm -rf elm-stuff
  