Use k-CFA addresses
Add abstract counting
Add abstract counting and use identifier when allocating
Correctly restore environments after function return