Looking at this code and comparing it with https://referencesource.microsoft.com/#System.Core/Microsoft/Scripting/Actions/DynamicObject.cs,42ff7d1d8461d3f2 seems to indicate that it was introduced in a time when `GetBaseDefinition` got missing. We should likely consider reverting back to the original code.