Here is the reversed scala code:
object Main {
def f1(nums: Stream[Int], trans: Seq[Seq[Int]]): Stream[Int] = {
return nums.sum #:: f1(nums.flatMap(trans), trans);
}
def main() = {
val broken = f1(Stream(0), Seq(Seq(0,1,2,3), Seq(0), Seq(0), Seq(0)));