I don't understand the benefits of forcing it to be in a separate file. I'd rather at least optionally you could include the types in the source file where you defining the methods.
Being able to define an interface instead of pure un-specified "duck type" is great.
Being able to define an interface instead of pure un-specified "duck type" is great.