I think it takes everyone a bit of time to acclimate to implicit parameters, but once I got used to them they quickly became my preference in many contexts.
There seems to be a common assumption that implicit parameters are necessarily unclear and the only solution is to make them explicit. However, there are tools in the toolbox that increase clarity without requiring users to write/read any code.
In that vain, I think there's an argument that the clarity issue with implicit parameters may be a tooling problem not a language problem. Xcode's code completion for them was rough early on, and they're still highlighted as just generic text. Compare this with how IntelliJ/AndroidStudio handle them in Kotlin:
Not only is the implicit parameter (it
) bold, but it also adds labeling to make any implicit information clear.
I doubt something that complex would be added anytime soon, but there is currently zero indication in Xcode of what those names are, or where they come from. You have to already "know" about them. At the very least the font should be differentiated from other parameters, and the Quick Help would actually be, well, helpful . Right now it just point you to where it's "declared" (e.g.
didSet
) with 0 explanation.