Refactored part of functor_ck to use variadic templates