On 11 Jun 2013, at 1:14 AM, Luís Oliveira wrote:
[...]


There were two reasons for deprecating the bare struct type, then.
From the implementation point of view, the disambiguation code is
intrusive and error-prone so we'd like to remove it as soon as
possible.

in itself, that does not convince.  the less-than-obvious reasons for variations at usage sites and the variations themselves would appear to this reader to be at least as intrusive and as error-prone as the much less numerous accommodations in the cffi code. from skimming the mailing list archive, it appears that this was a situation where the implications took some time to comprehend, but once they have been, what reason would exists, to require unnecessary forms? perhaps if either the problem were self-evident or the documentation would make a clearer case for the elaboration, it would be easier to follow your argument.

You are quite correct that the backwards compatibility code isn't as
bad as it once was. (I didn't remember the extent of the
simplification achieved in the last rewrite! :-))

Still, the API argument stands.

which is? (a link to the pertinent point in the thread suffices.)

best regards, from berlin,