Volviendo vacío en PromiseKit 6

Esto es lo que tenía trabajando con PromiseKit 4.5

api.getUserFirstName().then { name -> Void in
  print(name)
}

getUserFirstName() devuelve unPromsise<String>. Actualicé a PromiseKit 6 y esto ahora arroja un error:Cannot convert value of type '(_) -> Void' to expected argument type '(_) -> _'

Este mensaje de error tiene poco sentido para mí. ¿Cómo puedo solucionar esto?

EDITAR: Esto parece solucionarlo, pero tengo poco conocimiento de lo que está sucediendo con esto:

api.getUserFirstName().compactMap { name in
  print(name)
}

¿Cuál es la diferencia ahora entrethen() ycompactMap()?

Respuestas a la pregunta(1)

Su respuesta a la pregunta