Abstract assign arithmatic
Fix assign ops + kill codegen cruft

+ Fix codegen compiler warning