make main.rs the crate root for tests too
refactor LetVisitor to use ExprTypeVisitor
fix recursive search bug when searching let stmts