fix issue #3214 again (closes #3214)
add test (closes #2856)
oops
do not allow field casts of the this-abstract when resolving operator overloads
add test (see #2396)
add test (see #2157)
allow field-less ops again if their return type is an abstract whose underlying type is equal to the result of the native operation (see #2409)
add test (see #2152)