Any reason why you have to build that dict, rather than just specifying `new_ifelse(..., return_list=True)`? It seems to work fine with me.