a tiny mark and sweep garbage collector