You can define interval structure as a sequence of large L, small s, and optionally medium M steps.
For example, the Major diatonic scale, a 7 note scale from 12 EDO, in Ls notation is:
LLsLLLs with L: 2 s: 1 (12=2+2+1+2+2+2+1)
A 6 note scale (Gorgo-6) in 16 EDO is: LLsLLL with L: 3 s: 1 (16=3+3+1+3+3+3)
You can then explore frequency ratios beyond those available in 12 EDO, see this Lua file: https://github.com/robmckinnon/pitfalls/blob/main/lib/ratios...E.g. the Gorgo-6 scale has the intervals S2 (septimal major second), d4 (Barbados third), N4 (undevicesimal wide fourth), s6 (septimal sixth), s7 (septimal minor seventh).
And chords based on those ratios, see Lua file: https://github.com/robmckinnon/pitfalls/blob/main/lib/chords...
The above links are Lua code files for a monome norns library for exploring microtonal tuning: https://llllllll.co/t/pitfalls/37795
Speaking of use cases, I started this project with the idea of making a flexible parser for chord symbols. In the process of solving this problem, I wrote some general-purpose utilities, which eventually took form of this library. I'm making it public in the hope that it will be useful to others who use Lua for music and audio programming.
I haven't yet implemented the functions related to scales. I'm still thinking about their relation to chords and how to express it in the library's API.
You're right it's very expressive. I wish there was something like Teal, but for Fennel. I know there are libraries for runtime typing, but my ideal language would be a gradually statically typed Fennel.