On-the-fly garbage collection: an exercise in cooperation