Part
@Serializable(with = Part.Serializer::class )
A run of pieces a work is divided into: a group of sonnets, a chapter, an act.
Creating a part directly does not validate it against a work.
Throws
when the part does not start at piece one or later, or ends before it starts.
naming the field when a bound decoded from YAML or JSON is not a whole number within 32 bits.
naming the field when a decoded title or summary is null; a null short is read as none.
when a decoded part misses a field or a field holds another kind of value than it names.