The type save mappers should probably wrap around vapply() instead of lapply() with coercion.
Something like: map_chr <- function(.x, .f, ...) vapply(.x, .f., character(1), ...) etc...
I am not 100% sure how purrr::map_chr() behaves different than vapply(). I am currently a bit more busy than I thought, but if the issue stays open long enough, i'll look into them myself eventually.