reuse tr1::functional, compiling passed, why?