{ lib }:
{
genFinalPackage =
pkg: args:
let
expectedArgs = with lib; lib.naturalSort (lib.attrNames args);
existingArgs =
with lib;
naturalSort (intersectLists expectedArgs (attrNames (functionArgs pkg.override)));
in
if existingArgs != expectedArgs then pkg else pkg.override args;
}