Binary ops

All binary ops working including int to float casting when needed.  
alternatively, just wrap the non-float expression in a `SFloatCast` here