От Odersky, Spoon and Venners (2007), Программирование в Scala , Artima Press, p. 243
Вы хэшируете экземпляры класса, кэшируя все созданные вами экземпляры в слабой коллекции. Затем, в любое время, когда вам нужен новый экземпляр класса, вы сначала проверяете кеш. Если в кеше уже есть элемент, равный тому, который вы собираетесь создать, вы можете повторно использовать существующий экземпляр. В результате такой компоновки любые два экземпляра, равные equals (), также равны ссылочному равенству.