thebiochemic17520dlicense is weird, but i understand, if you want to describe the function and possible use cases in a comment block before it's declaration. This is usually done in combination of tools such as doxygen and the like.
thebiochemic17520d@frogstair i mean why not. If you have your project order, and there is a directory with interfaces, you want to keep 'em separate. Where else would you put a single interface declaration, such that it is still maintainable from one location? Into a file, where small interfaces are aggregated? If your project is large enough, that can be annoying to find that declaration again.
Its about principles and keeping law and order in your project.