It's probably not worth bring that library in unless you actually observe a significant drop in performance. Compose is very good as avoiding unnecessary work, those collections are going to be more difficult to use than the normal collections, and don't quote me on this but I believe those Immutable collections are generally less-performant than the stdlib collections, currently. They're immutable not for performance reasons, but to provide deep immutability guarantees that the stdlib Collections interfaces do not.
That said, if you're doing frequent lookups of the trait and concerned about potentially-expensive lookups, maybe a
Map
is a better choice than
List
for holding onto them. Make each Trait identified by some Key in the Map rather than searching a List for the actual type, with generics to enforce type-safety of Keys to Trait values.