https://d365hub.com/posts/details/560bdc3b-cd93-4b20-8c11-c7652d5078b5/tip-1456-enumerate-and-extract-object-properties