dont ask me what this does or how to use it idk https://github.com/katef/libfsm/pull/217#issue-444335413 its based off this thing