Pointer type duck typing assertion: Fixed an issue where pointer types (e.g., *GoLanguage) registered as binds
could not be correctly asserted to interfaces (e.g., Language) when using duck typing. Previously,
checkSavedAsBind was only using PointerValue(), which for pointer types like *GoLanguage would return
**GoLanguage (a double pointer) that cannot be asserted to the Language interface. The function now first checks
DefaultValue() for type assertion, and if that fails, it falls back to PointerValue() which correctly returns a
pointer that can be asserted to the interface. This ensures that pointer types can be properly retrieved via duck
typing when searching for interface implementations.