Banjo is an alternative to Lua or Javascript for game development that is suitable for ahead of time error checking and optimization, and IDE-supported refactoring. This is possible due to the introduction of a static type system, referential transparency, immutability, and the elimination of certain dynamic features.