Genode is often criticized for the choice of its implementation language, C++ (a few other operating systems implemented in C++ include BeOS, Fuchsia, Ghost, Haiku, IncludeOS, OSv, Palm OS, ReactOS, Syllable, and all the major browser engines). This critique usually asserts that C++ is a poor choice for implementing system libraries and APIs because of the inherent complexity of C++ and the difficulty in analyzing code for correct behavior. While Genode does make use of multiple inheritance and templates in its system library, the use of the C++ Standard Library is not allowed and language features that rely on implicit global state, such as thread-local storage and the global allocator, have been removed from the language runtime.