I wonder why the author doesn't use Teal [0] - a typed dialect of lua.
Regarding teal specifically: It currently doesn't support union types as described in the post (see the 'Current limitations of union types' section of the tutorial: https://pdesaulniers.github.io/tl/tutorial.html
https://github.com/lewis6991/gitsigns.nvim/commit/4d63d996b0...