fails:StringIO#puts when passed [Array, ...] first tries to convert each Array element to an Array using #to_ary
fails:StringIO#puts when passed [Object, ...] first tries to convert each Object to an Array using #to_ary
fails:StringIO#puts when in append mode appends the passed argument to the end of self
fails:StringIO#puts when in append mode correctly updates self's position
fails:StringIO#puts when self is not writable raises an IOError
