> just have the take! function return an optional map

A map of what ?