The documentation for supervisor child specification says the following:
The child specification contains 6 keys. The first two are required, and the remaining ones are optional:
:id- any term used to identify the child specification internally by the supervisor; defaults to the given module. In the case of conflicting
:idvalues, the supervisor will refuse to initialize and require explicit IDs. This key is required.
How can something both be required and have a default value? Does “default” have a special meaning in Elixir that’s different from the mainstream one?