add boilerplate reduction struct field copier
Remove boilerplate coversion functions
Merge pull request #2539 from lavalamp/master

Reduce boilerplate