everything working, except extracting members from dynamic types is not simple