Protocol Witness Matching Mini-Manifesto

I understand the review of the PR has paused for a while. I just would like to bring up another mismatching scenario that isn't mentioned in the doc and is probably worth considering.

protocol Proto {
    var x: Int? { get }
}

struct Test: Proto {
    var x: Int
}

In my opinion this example meets the following criteria of the doc perfectly:

it should be based on what the protocol requirement semantically requires.

I think supporting the above example helps to remove boilerplate code (though I have no idea how complex it would be to add support for it).