This is part #1 of a two patch series to does two things: 1) get rid of the crock that was struct continuation_arg, by replacing it by a void*, and a structure per continuation. 2) Make continuations have a mechanism to free the heap allocated arguments. I don't think this patch needs much explanation. Has a nice code size drop, and legibility increase, I think. Tested on x86_64-unknown-linux-gnu {sync,async} OK? -- Pedro Alves