This fixes an issue where lines like this:
focusNode.canRequestFocus = widget.canRequestFocus ?? focusNode.canRequestFocus;
Were causing the canRequestFocus bit to copy the status of the enclosing scope, since canRequestFocus also looks to the enclosing scope to decide if it can focus.