Ahh the time honored "It's a price I'm willing to pay argument"

Well so be it. I at least agree with the poor implementation point. I should not have to be manually copying memory around with an api call to test for emptyness. And you run into all sorts of weird scoping issues with them too.

You know what would be cool... A vbe add-in that converted UDTs to a Class. I already have one that converts public variables to properties, it should be a short leap, right?