This pitch is good, but should at least come with a caveat about this spelling. Outside of a function, it would be a protocol extension.
fileprivate extension Abstraction {
var impl: ResultType { // …
}
Without nested protocol extensions, switching to the function form will be necessary, trading good spelling for good scoping.
So I don't think this pitch should be implemented without being paired with nested extensions.