You need to change the argument type for Player from agent to ?agent.
ItemGrant(Player:?agent):void =
You will then need to check the ?agent is valid, with something like:
ItemGrant(Player:?agent):void =
if(Checked_Player := Agent?):
ItemGranter.GrantItem(Checked_Player)
More info on Optional: