List is used to specify a proto list. It can be used either as a literal, or
like you would a normal slice. Call L() or V() when finished constructing to
retrieve the type you want.
Struct is used to specify a proto struct. It can be used either as a literal,
or like you would a normal map. Call S() or V() when finished constructing
to retrieve the type you want.