typedef struct Worker<:Impl>{ union Data* worker; __code taskReseive(struct Worker* worker,struct Queue* queue); __code shutdown(Impl* worker); __codenext(...); struct Queue* queue; } Worker;