fails:File.new coerces filename using #to_path
fails:File.new can't alter mode or permissions when opening a file
fails:File.new opens directories
fails:File.new raises a TypeError if the first parameter can't be coerced to a string
fails:File.new raises a TypeError if the first parameter is nil
fails:File.new raises an Errno::EBADF if the first parameter is an invalid file descriptor
