why is `$value` not just type hinted?