let filter_map l ~f = List.rev (rev_filter_map l ~f)