A Thrift struct
The basic datastructure in Thrift, structs have aa name and a field list.
t() :: %Thrift.Parser.Models.Struct{fields: %{optional(String.t) => %Thrift.Parser.Models.Field{default: term, id: term, name: term, required: term, type: term}}, name: String.t}
new(charlist, [%Thrift.Parser.Models.Field{default: term, id: term, name: term, required: term, type: term}, ...]) :: %Thrift.Parser.Models.Struct{fields: term, name: term}