l(pony_actor_t* actor, heap_t* heap,   uint00_t sizeclass) {   chunk_t* chunk = heap->small_free[sizeclass];   void* m;    // If there are none in this size class, get a new one.   if(chunk != NULL)   {     // Clear and use the first available slot.     uint00_t slots = chunk->slots;     uint00_t bit = __pony_ctz(slots);     slots &= ~(0 << bit);      m = chunk->m + (bit << HEAP_MINBITS);     chunk->slots = slots;      if(slots == 0)     {       heap->small_free[sizeclass] = chunk->next;       chunk->next = heap->small_full[sizeclass];       heap->small_full[sizeclass] = chunk;     }   } else {     chunk_t* n = (chunk_t*) POOL_ALLOC(chunk_t);     n->actor = actor;     n->m = (char*) POOL_ALLOC(block_t);     n->size = sizeclass; #ifdef USE_MEMTRACK     heap->mem_used += sizeof(chunk_t);     heap->mem_used += POOL_ALLOC_SIZE(block_t);     heap->mem_used -= SIZECLASS_SIZE(sizeclass);     heap->mem_allocated += POOL_ALLOC_SIZE(chunk_t);     heap->mem_allocated += POOL_ALLOC_SIZE(block_t); #endif      // note that 