а правильно ли я вообще решаю задачу
Конечно же, нет.
Эта задача решается плагинами-обёртками-адаптерами, которые на вход получают данные в каком-то
одном формате, преобразуют его в другой, внутренний формат вашей библиотеки, который тоже
один и дальше она работает только с ним, а потом отдаёт результат адаптеру для переконвертации.
Контракт адаптера жёстко зафиксирован и довольно мал, поэтому любителям странного легко сделать свой под свой уникальный формат. А для небольшого количества возможных адекватных форматов вы можете написать плагины сразу.
Вы не нашли
ни одной библиотеки по двум причинам:
1. Описанное вами поведение абсолютно некорректно с точки зрения некоторых указанных структур данных и стандарта языка. У объектов, сетов, мапов и т.д. нет никакого range. То, что это
можно закостылить не означает, что это
стоит делать.
2. В реальном мире, а не в розовых фантазиях оверинжиниринга и перепридумывания всего и вся, потому что все, кто были в индустрии до вас, дураки, таких задач просто не стоит, потому что см. пункт 1.