Use low-level `call()` to prevent gas griefing attacks when returned data not required
Using `call()` when the returned data is not required unnecessarily exposes to gas griefing attacks from huge returned data payload. For example:\\n```\\n(bool status, ) = payable(receiver).call{value: amount}("");\\nrequire(status, "Gov: failed to send eth");\\n```\\n\\nIs the same as writing:\\n```\\n(bool status, bytes memory data ) = payable(receiver).call{value: amount}("");\\nrequire(status, "Gov: failed to send eth");\\n```\\n\\nIn both cases the returned data will have to be copied into memory exposing the contract to gas griefing attacks, even though the returned data is not required at all.
Use a low-level call when the returned data is not required, eg:\\n```\\nbool status;\\nassembly {\\n    status := call(gas(), receiver, amount, 0, 0, 0, 0)\\n}\\n```\\n\\nConsider using ExcessivelySafeCall.
Contracts unnecessarily expose themselves to gas griefing attacks.
```\\n(bool status, ) = payable(receiver).call{value: amount}("");\\nrequire(status, "Gov: failed to send eth");\\n```\\n