allow ComplexType return from @:genericBuild macros, deprecate Type return (closes #3176)