Why not make fSema be a (non-pointer) ```sem_t```, avoiding the need to use unnecessary heap allocations?