First pass at map2_exn