Indigo: A game engine for functional programmers, in Scala