fails:Hash.[] creates a Hash; values can be provided as the argument list
fails:Hash.[] creates a Hash; values can be provided as one single hash
fails:Hash.[] creates a Hash; values can be provided as a list of value-pairs in an array
fails:Hash.[] coerces a single argument which responds to #to_ary
fails:Hash.[] ignores elements that are not arrays
fails:Hash.[] raises an ArgumentError for arrays of more than 2 elements
fails:Hash.[] raises an ArgumentError when passed a list of value-invalid-pairs in an array
fails:Hash.[] raises an ArgumentError when passed an odd number of arguments
fails:Hash.[] calls to_hash
fails:Hash.[] returns an instance of a subclass when passed an Array
fails:Hash.[] returns instances of subclasses
fails:Hash.[] returns an instance of the class it's called on
fails:Hash.[] does not call #initialize on the subclass instance
fails:Hash.[] removes the default_proc
fails:Hash.[] passed zero arguments returns an empty hash
fails:Hash.[] passed an array treats elements that are 2 element arrays as key and value
fails:Hash.[] passed an array treats elements that are 1 element arrays as keys with value nil
fails:Hash.[] passed a single argument which responds to #to_hash coerces it and returns a copy
