Ao tentar definir a seguinte função na classe ZList
def append(l: ZList[T]): ZList[T]
obtenho um erro. Como resolver isto?
A razão de ser do erro e a forma de o resolver só poderá ser compreendida mais tarde, quando se falar em anotações de covariância e contravariancia. Para já peço-lhe que use este cabeçalho, mesmo sem o perceber.
def append[U >: T](l: ZList[U]): ZList[U]