Just like regular Struct, but uses keyword arguments.
Person = KwStruct.new(:name, :age) sammy = Person.new(name: 'Sammy', age: 30)
Any non-existent arguments will raise an ArgumentError.
$ gem install kwstruct