Abstract garbage collection with type inference.