The point of the solution here is so you can simply go `SELECT * FROM list ORDER BY pos` and have the correct order.
with recursive todo_list_sorted as ( select * from todo_list tl1 where prev_id is null union all select tl1.* from todo_list tl1 join todo_list_sorted tl2 on tl1.prev_id = tl2.id ) select * from todo_list_sorted
The point of the solution here is so you can simply go `SELECT * FROM list ORDER BY pos` and have the correct order.