I would have done it the other way, with the logic in this function and the other function returning `map('maktaba#value#Save', a:variables)` and the `#Restore` function differentiating between lists and dicts. This is fine, though.