$ ocaml Objective Caml version 3.08.1 # let rec sum = function [] -> 0 | i :: l -> i + sum l;; val sum : int list -> int = # let list = 1 :: 2 :: 3 :: [];; val list : int list = [1; 2; 3] # sum list;; - : int = 6