I've recently taken to the godot-haskell bindings. They're updated often and having access to a full engine for graphics, sound, networking, etc. is very useful. That being said, the bindings are fairly heavy handed, but once you get used to it they're not that bad. Not sure about performance, but Godot has bindings for Rust, Python, CLR, and Kotlin that can be used in tandem if needed.