¿Cómo razonar sobre la seguridad de la pila en Scala Cats / fs2?

Aquí hay un fragmento de código de la documentación para fs2 . La función goes recursiva. La pregunta es ¿cómo sabemos si es seguro para la pila y cómo razonar si alguna función es segura para la pila? import fs2._ // import fs2._ def tk[F[_],O](n: Long): Pipe[F,O,O] = { def go(s: Stream[F,O],...