OP Here: I wanted to write a simple text-based interface to track the my groceries.
Early on I decided that I wanted to use Lua to write the program and thus started using LuaJIT amazing ffi to call ncurses functions to display what I wanted on the terminal.
That proven to be incredibly convoluted.
Inspired by this an HN story about emcas [0] and a comment in particular [1] regarding how emcas benefited from a global namespace, and at the same time not being a particular fan of eLisp I set out to make a emacs-lite-lite-lite with just the functionality I needed, say, print text on the screen, print text on the “mode line” and a callback when a key is pressed.
[0] https://emacs.love/tales/emacs-love-tale-by-sdp.html [1] https://news.ycombinator.com/item?id=27521477