тут ещё оказывается, что несмотря на одинаковый синтаксис, в double[ _ >: X <: Int ] запись интерпретируется по другим законам, не связанными с existential types. (не компилируется перезапись по "законному" раскрытию того типа: double[ T forSome { type T >: X <: Int } ])
no subject
внезапно.