correcting a bug in the isWeakAssignableFrom method