import scala.concurrent._
import scala.concurrent.duration._
import ExecutionContext.Implicits.global
import scala.language.postfixOps
lazy val f = Future {
assert(iterT(200000, (x: Int) => x + 1, 0) == 200000)
assert(iterT(100, (x: BigInt) => x * 2, BigInt(2)) == BigInt("2535301200456458802993406410752"))
assert(iterT(10, (x: String) => x ++ "a", "a") == "aaaaaaaaaaa")
}
Await.result(f, 90 second)