Add basic optimization
Add tests for optimization
Add nonstrict equality