func (b *BasicDataType) IsEquivalent(other DataType) bool {
	t, ok := other.(*BasicDataType)
	if !ok {
		return false
	}
	return *t == *b
}
func (b *BasicDataType) IsEquivalent(other DataType) bool {
	t, ok := other.(*BasicDataType)
	if !ok {
		return false
	}
	return *t == *b
}
// IsEquivalent returns true if other represents the same data type as the target.