Sorbet was developed before the details of the new Ruby type system were locked in. They’re working on providing some convergence in upcoming releases.
The 'separate' file is to avoid breaking backwards compatibility and avoiding a Python2/3 fiasco
Also see coffeescript, etc.
Sorbet will be compatible with the new file format. We’ll still be able to use the inline Sorbet type signatures.
My personal hope is that typing can be included in test/spec files.