pub fn walk_pattern<'a, 'b, V>( visitor: &mut V, pattern: &'b Pattern ) -> Option<Pattern>where V: ?Sized + Visitor<'a, 'b>,