added tail call
update to make it compils on Win32
add a test case
added more examples
added alloc.go