Мне как-то проще и приятнее, когда приватность это «джентельменское соглашение», чтоб в любой момент можно было полезть под капот либы и перехачить ее как хочешь.
я это к тому что не стоит описывать разницу между let и def через "как и кому это будет доступно" это две соверщенно разные конструкции для абсолютно разных вещей let - для формирования локального лексического скоупа def - для формирования интерфейса нэймспейса
человек не зря ведь отметил, что вопрос он задаёт нубский. ответ про лексические скоупы и формирование интерфейса пространства имён - это уже ответ на другой вопрос. не нубский. я например такой ответ два раза прочитал. а потом понял.
ты про то, что dynamic? а как предлагаешь, явно c json иметь дело?
Например объявить мультиметрд с диспатчем по функе от контент тайпа. Реализации методов отдать консьюмеру библиотеки. Предоставить свои варианты для популярных форматов