SegWit as a hard fork? This has to be a joke.
Not a joke, and your 'tone' for lack of a better word isn't constructive... but I'll answer your points anyway.
The only thing special about SegWit is the fact that it is a hack to achieve many things with a weird soft fork which puts us in enormous technical debt
No arguments there.
Fix quadratic hashing problem at first.
The changes required to fix quadratic signature hashing and malleability both would require hard forks, so packaging them together makes sense.
TX malleability is not really a bug and should not really be fixed, ever. It allows easily testing applications against double spends because a TX malleability transaction is actually a double spend. Double spends can still happen you can't fix that, so why fix TX malleability?
AFAIU there are two kinds of malleability:
- When the user creates two conflicting transactions using the same input that spends the same output(s)
- When a third party alters a user's transaction that has been broadcast to the network
You are correct when you say segwit won't fix the first kind of malleability, and that isn't it's goal. Segwit/flextrans/BUIP37 attempts to fix the second kind: third party transaction malleability.
Segwit does this in a clever yet hackish way via soft fork, but doesn't prevent users from creating 'legacy' outputs that are vulnerable to third party malleability. It's a poor form of security and feature deployment.
Lastly, fixing third party transaction malleability makes the development of layer 2 transaction networks (i.e. lightning) easier, which may relieve on-chain volume and fee pressure for users.