We layfolk are not party to the detailed development plans, and that is OK. However, with several Core supporters deriding alternative node implementations for limiting the effects of the O(n^2) issue, rather than solving it head on
Fundamental misunderstanding, conflating the protocol with non-normative implementation particulars. The Bitcoin protocol has a design flaw where transaction validation can take time quadratic in the size of the transaction. No implementation can avoid this wasteful computation because it is a consensus rule normative to the protocol.
With an increase in blocksize this wasteful computation could easily be turned into a system halting denial of service.
Rather that fixing it, Bitcoin Classic implemented yet another useless hard limit of transaction sizes-- to keep the bleeding at a moderate level. (Still allowing blocks to trigger 1.2 _gigabytes_ of hashing)
Segwit's design addressed the issue in two ways: One is that the extra capacity in segwit is for witness data, which is not hashed by the signature hasher. Because of this even with no fix, the worst case possible is much less significant than a plain 2MB block. The other is that segwit changes the data structure which is hashed to not require the quadratic computation, by making the part of the hashing that all signatures would share identical that computation can be shared-- the resulting structure can be hashed with O(N) work instead of O(N^2). These are both done, integrated, and tested since 2015. Both are fundamental to segwit.
The point Peter Todd was making was that the segwit implementation in Bitcoin Core doesn't make use of that changed structure in the second improvement to actually save the computation possible from that second improvement. There is an open pull request for it it just isn't integrated yet. Btcd's does however. This is an implementation specific difference, on my computer it does, on yours it doesn't and we're totally compatible. Similarly, even ignoring segwit Bitcoin Core is normally many times faster than btcd, but both are compatible.
Our focus is on correctness, compatibility, and ensuring flexibility, not in getting in every last possible optimization into the system on day one. Not changing the signature-hashing algorithm, just changing the data structure, made review for correctness easier, and also allowed compatibility testing (between the naive code, the unmerged optimization, and the btcd implementation).
The important thing is that the design flaw has been eliminated for segwit txn; allowing the implementations to implement the optimization at their leisure. It makes not a difference at all if anyone actually makes use of the new structure until segwit is activated on the network.