SI-7520 bug in subtyping.

isSubType, if given two SingleTypes, would check =:= and stop there. It is
necessary to continue with weakening the left hand side, because (for
instance) the singleton type on the left hand side could be a refinement
class carrying parents which are themselves single or constant types.