move functor of get_proc_type deeper