В следующей ситуации
trait T {
 @tailrec
 def consume[A](as: Stream[A]): Unit = {
    if (as.isEmpty) ()
    else consume(as.tail)
  }
 }
object O extends T
вызывая O.consume(Range(1, N).toStream) с N достаточно большим, у программы закончится нехватка памяти или, по крайней мере, будет потреблять O (N) вместо необходимого O (1).
