да не нужно его делать. имхо, линейная запись и неблокирующие синхронные и асинхронные взаимодействия успешно решаются одинаково успешно для карусели, кооперативки и вытесняющей системы всего двумя пальцами:
1. цикл Дейкстры
2. либа/макрос Sleep
прототридс'ы - это слишком уж вырожденный вариант первого пункта. от них придётся отказаться.
верификация решается проверкой пред и постусловий, которые естественным образом пишутся для цикла дейкстры - хоть на це, хоть на цепепе. Хочется отдельной верификации - тоже не проблема, просто помечаем пред и постусловия для препроцессора, и его выход парсим "нужной тулзой", не трогая компилер, язык и программу. Имхо, это удобнее, чем юзать бугага от ISO_C, на которую ты уже давал ссылку:
http://caxapa.ru/427628.html