So, I've got an interesting story.
At my job, I work with .NET core.
The GNU ncurses library recently introduced a new format for the TERM environment variable.
.NET Core is unable to understand this new format.
By building the curses interface for Nethack on my computer, I had to grab a new version of ncurses, and the TERM variable on my system went from just `xterm` to also listing more detailed information about color support.
.NET Core immediately reads TERM to determine how to interact with the console.