поехавший
#define DETAIL_DECLARE_BIND(TemplateBindParams_, BindParamTypes_, BindParamsDecl_, BindParamsUsage_) \
template < typename FunctorType, TemplateBindParams_ > \
Detail::Binder<typename TypeList<BindParamTypes_>::type, FunctorType> \
bind(const FunctorType& func, BindParamsDecl_) \
{ \
typedef typename TypeList<BindParamTypes_>::type AllParams; \
Tuple<AllParams> all_params(BindParamsUsage_); \
return Detail::Binder<AllParams, FunctorType>(func, all_params); \
} особенно люблю на работе такие ребусы разгадывать