 
     @type enum_value :: bitstring | integer
     @type t :: %TEnum{name: String.t, values: %{String.t => enum_value}}
+
+    @enforce_keys [:name, :values]
     defstruct name: nil, values: []
 
     import Thrift.Parser.Conversions

    """

    @type t :: %ValueRef{referenced_value: atom}
    defstruct referenced_value: nil

    import Thrift.Parser.Conversions

    """

    @type t :: %Namespace{name: String.t, path: String.t}

    @enforce_keys [:name, :path]
    defstruct name: nil, path: nil

    import Thrift.Parser.Conversions
