More refactoring of functor_arrfunc