Using generified Immutable & associated interfaces