Add boolean implicit conversion rules
Fix comment
Add more math call tests and impl
Separate codegen details
Clean up typing
Update tavis-ci