Since NilClass is immutable it cannot be duplicated. For this reason try_dup returns self.
nil.dup! #=> nil
Compliments Kernel#ergo.
"a".ergo{ |o| o.upcase } #=> "A" nil.ergo{ |o| o.bar } #=> nil
CREDIT: Daniel DeLorme
Create an empty OpenStruct object.
See Kernel#try.
[Validate]