А Агент Смит в 3 части матрицы все-таки оказался многопоточным. fork-ался бы как все нормальные программы, остался бы жив, хотя бы частично...
Любая проблема дизайна может быть решена введением дополнительного абстрактного слоя, за исключением проблемы слишком большого количества дополнительных абстрактных слоев