A stupidly simple implementation of a kind of "sorta immutable" struct that can be instantiated as conveniently as an OpenStruct
but after instantiation it doesn't let me (easily) add fields or mutate them:
guy = ClosedStruct.new( name: "John", age: 23 )
# readers:
guy.name #=> "John"
guy.age #=> 23