symantic check for binary ops