Fix embarrassing bug in OO subtyping

Subtyping on objects was unsound due to an attempt to
make the algorithm more clever. This was a good lesson in
the danger of premature optimization.