public override DynamicMetaObject BindGetMember(GetMemberBinder binder) {
var binderDefault = binder.FallbackGetMember(this);
var expression = Expression.Convert(GetMemberAccessExpression(binder.Name), typeof(object));
var dynamicSuggestion = new DynamicMetaObject(expression, BindingRestrictions.GetTypeRestriction(Expression, LimitType)
.Merge(binderDefault.Restrictions));
return binder.FallbackGetMember(this, dynamicSuggestion);
}