The syntax now does not cover many other more complex function prototypes e.g. atexit(). We need to improve that.