let rec find_pos (key: 'key) (map: ('key * 'data) list) : int = begin match map with | [] -> 0 | (k, _) :: _ when k = key -> 0 | (_, _) :: map1 -> 1 + find_pos key map1 end