added label for __EXIT__
changed types from void* to $Object*
void* -> $Object**, inverted cgen order, added full documentation