There are other projects that use the bitbake build system, not just OpenEmbedded and the Yocto Project.
"Stringly typed" - even lists are just semicolon-separated strings.
Insane quoting rules. I recently tried to work out exactly how the argument parsing works and the source code has undocumented behaviour. It's ridiculous.
Accessing undeclared variables works fine. They're just empty. Good luck tracking down silently ignored typos!
Scratching the surface...
redo: build rules spread across many files