fn swap_sibling_in_list<A: AstNode + Clone, I: Iterator<Item = A>>( node: &SyntaxNode, list: I, range: TextRange, direction: Direction, ) -> Option<TextEdit>