Jj právě u těchto složitějších konstrukcí je dobré vědět, kde je chyba a k tomu typový systém dost pomáhá (mě takto "vypeklo" Clojure, kde runtime výjimky jsou na tři obrazovky a důvod aby člověk někdy pohledal - většinou to byl někde ulítlý typ, typicky nil punning* atd.)
* Clojure podporuje plně nil punning většinou funkcí, ale Java pod tím už ne
Taky to jde, ano (popravdě ale ty diskuse už moc nesleduju, protože si myslím, že bych spadl do https://xkcd.com/386/ Dokonce jsem se udržel u diskuse o Go :-)