anchor.diff:      "runHook preBuild"
     ] ++ lib.optional (format == "make")
       "make \${buildTargets:-build} $makeFlags"
  -  ++ lib.optionals (format == "crystal") (lib.mapAttrsToList
  -    (bin: attrs: ''
  -      crystal ${lib.escapeShellArgs ([
  -        "build"
  -        "-o"
  -        bin
  -        (attrs.src or (throw "No source file for crystal binary ${bin} provided"))
  -      ] ++ (attrs.options or defaultOptions))}
  -    '')
  -    crystalBinaries)
  +  ++ lib.optionals (format == "crystal") (lib.mapAttrsToList mkCrystalBuildArgs crystalBinaries)
     ++ lib.optional (format == "shards")
       "shards build --local --production ${lib.concatStringsSep " " (args.options or defaultOptions)}"
     ++ [ "runHook postBuild" ]));
  
positive.code:   # Specify binaries to build in the form { foo.src = "src/foo.cr"; }
    # The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; }
  , crystalBinaries ? { }
  , ...
  }@args:
  
  
negative.code: 
    PREFIX = placeholder "out";
  
    inherit enableParallelBuilding;
    strictDeps = true;
    buildInputs = args.buildInputs or [ ] ++ [ crystal ];
  
  