がさごそやっていてちょっと気になったのですが、

PTY.getpty の rdoc には、疑似端末のマスターデバイスにつながった r と w
のオブジェクトが IO と書かれていますが、コードのほうは File を生成して
います。