Solution
= Solution
\b[Permitted; returns `"AB"`.] Through a receiver of <static type> `A`, only `show(A)` is visible. The argument's <static type> `C` is a <subtype> of `A`, so it can be passed to that method. <Dynamic dispatch> selects `B.show(A)` on the receiver object, exactly as in part (i). The argument's more specific type cannot expose overloads absent from the receiver's <static type>.