CI.DataType.getValueIfNeeded -> Traversing.getValueIfNeeded(data)