let rec paSem_of_list = function | [] -> Ast.PaNil ghost | [ x ] -> x | x :: xs -> let _loc = loc_of_patt x in Ast.PaSem (_loc, x, (paSem_of_list xs))