fails:Hash#default_proc returns the block passed to Hash.new
fails:Hash#default_proc returns nil if no block was passed to proc
fails:Hash#default_proc= replaces the block passed to Hash.new
fails:Hash#default_proc= uses :to_proc on its argument
fails:Hash#default_proc= overrides the static default
fails:Hash#default_proc= raises an error if passed stuff not convertible to procs
fails:Hash#default_proc= returns the passed Proc
fails:Hash#default_proc= clears the default proc if passed nil
fails:Hash#default_proc= returns nil if passed nil
fails:Hash#default_proc= accepts a lambda with an arity of 2
fails:Hash#default_proc= raises a TypeError if passed a lambda with an arity other than 2
fails:Hash#default_proc= raises a RuntimeError if self is frozen
