iteを短く書くにはこうすりゃいいよ
def ite[A](f: A => A, start: A): Stream[A] = Stream.cons(start,ite(f,f(start)))

Stream.iterateの再発明になったけど