Implement these data structures as text editing backends and evaluate them for efficiency - 1. Rope - [x] Storing text - [ ] Insert - [ ] Delete 2. Gap buffer - [ ] Storing text - [ ] Insert - [ ] Delete 3. Per-line gap buffer - [ ] Storing text - [ ] Insert - [ ] Delete