first version
little modify
fml!!!!! the var args version not work well,,,, damn!!!!
Merge branch 'master' of github.com:chraac/y_combinator_cpp