The PHP manual notes this in its overview of the new void return type added in PHP 7.1:
Attempting to use a void function's return value simply evaluates to NULL, with no warnings emitted. The reason for this is because warnings would implicate the use of generic higher order functions.
What does it mean by "warnings would implicate the use of higher order functions"?