private extension Foo { func f() { ... } } と extension Foo { fileprivate func f() { ... } } が同じになるのは、前者では字面上の private に引きづられて fileprivate ではなく private と勘違いしそうだなという感じです。僕が慣れてないだけかもしれませんが。private がほしいなと思ったと。 scopeprivate みたいな感じか、今の private を typeprivate みたいにするか。まあでも今でも複雑だし、 tarunon さんの言うようにファイル分けるが現実的そうですね。