confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
*$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};
confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
*$AUTOLOAD = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}};