title: OCaml function to check if list is palindrome with floor(n/2) recursive calls and no list allocation
body: <p>I have this task on uni, I have researched for a long time, but I cannot find out, how to write this function.
  I need it to check if a list is a palindrome, call itself recursively at most floor(n/2) times and not allocate any auxiliary list (so I can use no list constructors).
  Any ideas? Tbh, I would like an algorithm than a full solution.</p>