@Leland Richardson [G] do you know who Rob Norris is? he’s a scala dude, talks at their conferences a lot, he has a rant where he now thinks the main thing that will kill Scala if it were indeed to die, is tooling. The argument is that the tooling that’s there is not helpful and it’s slow so people don’t enjoy working in the language as much. What I am saying is the clearest consensus item of tooling that goes back to QuickBasic in the 1980s is the editor suggesting completions, and/or walking you through satisfying the needed params/constraints, etc. If we go backwards on that front, to go forward on the reactive/compositional front, it’s a trade-off and one that some people might not like. So you save time from the components and the better composability, but then the tools are like pre-1988, that’s a bummer.
Not sure if there’s a simple solution. For instance in this case, how would I have known? I guess I should have guessed. Some tools (like IntelliJ and JBuilder) toyed with the idea of templatizing instantiation. Then of course there’s the ubiquitous Builder Pattern that took over the Java world. The Static Builder from Bloch 2nd edition addresses this directly: provides immutable construction and also tooling tie ins so you are walked through constructions that are often complex.