Removes unused variable:
Introduced in rP14877. The variable proto is not used in its scope and function called on assignment does nothing with the object itself (what would affect it later) so can be removed.
There is assert check inside that function for isObjectOrNull but it is done in this scope already.
Adds error messages on fail
Fails if component does not have constructor = is null