Eliminate many calls to parent.frame()
promise extraction can get ..vars