fails:Kernel#open sets the file as writable if perm is nil
fails:Kernel#open opens an io when path starts with a pipe
fails:Kernel#open opens an io when called with a block
fails:Kernel#open allows nil for perm
fails:Kernel#open sets permissions of newly created file
fails:Kernel#open allows Integer-like objects for perm
