It's fine. Inheriting traits is okay with me, classes more suspect. In any case I prefer the typeclass pattern but the scal stadard library makes light use of that.