trait Vector[+a] { def append(x: Vector[a]): Vector[a] }