Simplified solution.

Learnt trick with ({<map>} <key> <default value>} from cgrand, (vars
expr expr).