Thank you! I have found that pattern matching has made this project a whole lot easier.
One of the other cool features about this project is how the check() functions are loaded based off the type of the node argument:
https://github.com/dosisod/refurb/blob/master/refurb/loader....
This also supports type unions, so you can register your check for binary and unary expressions by typing node as `BinaryExpr | UnaryExpr`.