shinout.struct

a helper to create getter/setter properties with validations, type checking, defaults, private, required, immutable, and so on...

Sadly, this package has no readme. Go write one!