add nested :=v (but not :=m
impl new-let