struple token struple struct
enum token enum struct
token val struple val struple type enum type
struple val enum val struple type enum type
winner?
token val(typeval) struple val(Opt, struple) enum token val -> (typeval, lstr) enum struple val -> (typeval, lstr, struple) user type typeval constant
enum FieldValue
|IndexedField(TypeValue)
|NamedField(Str, TypeValue)
--
struple TypeValueField
.name: Option<Str>
.type: TypeValue
--
struple TypeValue
.name: Str
-
.fields: [TypeValueField]
--