Why is there so much hate for typespec?

What those people want is for the typespecs to be strictly enforced, so you cannot compile the code if you have a mismatch. But as @stevensonmt mentioned, they are optional - basically just an extension of documentation.