default destructor may be NULL

and do not destroy the None object
added functor type and go() function
moved go() to functor.c
added chan_t
added comments
added comment
add channel to global include file
added test code for go() and chan_t