added mechanism to test compile-time type safety for abstract operators