let rec last list = match list with   | [x] -> Some x   | _ :: tl -> last tl   | [] -> None