Rethinking the `setup` convention in Neovim. Is it time for a paradigm shift?

Algebraic data types in Lua (almost)