cache var values in `v_extra` instead of maintaining a map