It is different if you have different use cases on when :name has been specified, or not.
In a static type system, those use cases are encoded in a type, which becomes integral part of the information carried by the data. In dynamic type systems these are (hopefully) encoded in documentation and tests.
There is place and use for both systems.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.