λ
Size: a a a
λ
SK

func, она у нас List[A] => List[A], есть список x, есть функция над элементами списка A => A. Функция f, как вы сказали, может работать с конкретными типами, например, мы туда можем передать Int => Int. Функция func объявлена так, что работать с конкретными типами не может, может работать только опираясь на структуру списка. Ревертнуть его, например. И нам все равно, когда мы применим функцию к элементам списка, до того, как мы сделали - условно - реверт, или после.λ
λ
λ
SK
λ
λ
SK

R
R
R
R

λ

R

R
λ
λ
R