move typedefs into inner scope, template kokkos functor