anchor.diff:  , installManPages ? true
     # Specify binaries to build in the form { foo.src = "src/foo.cr"; }
     # The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; }
  -, crystalBinaries ? { }, ... }@args:
  +, crystalBinaries ? { }
  +, ...
  +}@args:
   
   assert (builtins.elem format [ "make" "crystal" "shards" ]);
  -
   let
     mkDerivationArgs = builtins.removeAttrs args [
       "format"
  
positive.code:       done
      ''
    ] ++ (lib.optional installManPages ''
        if [ -d man ]; then
          installManPage man/*.?
        fi
    '') ++ [
      "runHook postInstall"
    ]));
  
negative.code: { stdenv, lib, crystal, shards, git, pkgconfig, which, linkFarm, fetchFromGitHub, installShellFiles }:
  
  {
    # Some projects do not include a lock file, so you can pass one
    lockFile ? null
    # Generate shards.nix with `nix-shell -p crystal2nix --run crystal2nix` in the projects root
  , shardsFile ? null
  