The fact that the generic parameter ends up to be `Unit` makes me wonder what goes wrong here. Ideas?