To make everything work correctly with refs. I'm unsure whether the GET_PROPERTY_SILENT distinction is really necessary, because the choice seemed pretty random, but kept it around.