If you can't do it in C, you probably shouldn't do it