Scala foldLeft implementation is:

```
def foldLeft[B](z: B)(op: (B, A) => B): B = {
   var result = z
   this foreach (x => result = op(result, x))
   result
}

```

Why scala develovers don't use something like tail recursion or something else like this(It's just example) :

```
def foldLeft[T](start: T, myList: List[T])(f:(T, T) => T): T = {
  def foldRec(accum: T, list: List[T]): T = {
    list match {
      case Nil => accum
      case head :: tail => foldRec(f(accum, head), tail)
    }
  }
  foldRec(start, myList)
}

```

Can it be? Why if it cannot/can?