requirement merging
manage sets of free vars