Not really. One just implements them. For instance, there's no requirement for all function bodies to use the same scheme.
The unusual bit is that you need to tell the loader what's going on, but there are still a few bits free for that.
This would make it difficult to implement C99's variable-length
(actually, run-time-determined--length) arrays.