Say for a moment we wanted to capture every such constraint at type level -- with types NonEmptyString and PositiveNonZeroInteger. Would these be declared as structs in Swift?