void *n, *k, *kh, *v; void (*pc)(); int main(); void factorialr_cps(); struct kt; typedef struct kt kt; struct kt { enum { _empty_kt, _extend_kt } tag; union { struct { void *_dismount; } _empty; struct { void *_n; void *_k; } _extend; } u; }; void *ktr_empty(void *dismount); void *ktr_extend(void *n, void *k); void applyr_k(); int mount_tram(); struct _trstr; typedef struct _trstr _trstr; struct _trstr { jmp_buf *jmpbuf; int value; };