walk function return type