let is_nil = function [] -> true | _ -> false