Итак, я совершенно не знаком с OCaml и довольно медленно перемещаюсь, выполняя свои первые функции. Одна вещь, с которой мне трудно понять, - это когда использовать возможности сопоставления с образцами, например
let foo =
[] -> true
| _ -> false;;
vs с использованием структуры if else, такой как
let foo a =
if a = [] then true else false;;
Когда я должен использовать каждый?