template<typename Param0 = null_type, typename Param1 = null_type, typename Param2 = null_type, typename Param3 = null_type, typename Param4 = null_type, typename Param5 = null_type, typename Param6 = null_type, typename Param7 = null_type, typename Param8 = null_type, typename Param9 = null_type>
template<typename T >