I imagine a compressed suffix array or compressed suffix tree using libsdsl (https://github.com/simongog/sdsl) would probably be a lot smaller/space efficient and faster.
Why do you think so?
It seems pretty much a trie implementation. Wouldn't the library be better served by having the word trie in its name?
The name of the library is an obscure reference to a Japanese video game.