Preserving Expected Behavior - Behavioral Subtyping | OneNoughtOne