confirm might do an update, so this should remain Lwt.t