bug1279a.scala:34: error: type mismatch; found : first.selfType required: M{type T <: this.T} def all4Impl[U](first: M {type T <: U}): Stream[M {type T <: U}] = Stream.cons(first, all4Impl(first.next)) ^ one error found