Вот функция в ML:
fun whatAmI (n, nil) = nil
| whatAmI (0, h :: t) = h :: whatAmI (1, t)
| whatAmI (1, h :: t) = whatAmI (0, t);
(a) Показать каждый шаг процесса оценки, дать результаты, полученные путем оценки следующего: whatAmI (0, [6, 5, 4, 3, 2, 1])
(б) Опишите эффект от функции whatAmI в целом.
(c) Язык ML обеспечивает вывод типа. Какой тип будет выведен для функции whatAmI? Объясните свой ответ