Are you saying to detect whether it's correct to conserve by comparing ClassTags? That's the point of the change -- comparing ClassTags can give a false positive when the type is erased (i.e., classTag[Option[Int]] == classTag[Option[String]]), so it's unsafe to rely on it. See https://issues.apache.org/jira/browse/SPARK-1552.