En SML, es común y fácil definir una función usando currying y matching de patrón. Aquí está un ejemplo sencillo:Coincidencia de patrón de mezcla y currying en OCaml
fun zip [] _ = []
| zip _ [] = []
| zip (x::xs) (y::ys) = (x,y)::(zip xs ys)
Haciendo caso omiso de las funciones de biblioteca, ¿cuál es la mejor manera de puerto a este OCaml? Por lo que puedo decir, no hay una forma fácil de declarar una función usando currying y matching de patrones.