«содержит» в основном о тестировании на равенство, и равенство в Scala (как и в Java до него) не типизировано. Практическая ценность наличия нетипизированного равенства мала, но не равна нулю. Есть, например, несколько случаев, когда два объекта разных классов имеют смысл быть равными друг другу. Например, вы можете пожелать, чтобы объект типа RGBColor был равен PantoneColor, если они определяют один и тот же оттенок, или неизменный HashSet и неизменный TreeSet равны, если они содержат одинаковые элементы. Тем не менее, нетипизированное равенство также вызывает кучу головных болей, и тот факт, что компилятор может легко уловить, что List(1,2,3,4).contains("wtf")
бессмысленно, но не будет, является одним из них.
Большинство инструментов для поиска ошибок Java включают в себя тесты, чтобы обнаружить наличие неправдоподобных применений с нетипизированным равенством. (Я написал проверки для этого в IntelliJ IDEA.) Я не сомневаюсь, что когда инструменты поиска ошибок Scala появятся в сети, они будут одними из первых обнаруженных ошибок.