Lite-C does not known "functions" in C-Terms, but only "function pointers".
If you write
function foo()
{
error("foo");
}
function bar()
{
error("bar");
}
you have declared two function pointers foo and bar (which you can swap):
...
void * tmp = foo;
foo = bar;
bar = foo;
foo(); // will call error("bar")
bar(); // will call error("foo")
...
This allows monkey patching functions for your own needs
Also: Function Prototypes (without definition) will not have the value NULL but a special value that will error "empty function called in ..."