Implemented handling templated structs and variants