explain free vars an occurs test