The main question is how to tell them apart?
I've heard two main explanations from native speakers:
- Because can't has that t sound in it.
- Using the context
To what I think:
- Yeah, no way in earth you can tell that t most of the times. If the pronunciation is right and there's no background noise, it's mostly audible. But that's a big if.
- Well, sometimes it's obvious, but too many times it's just not. Precisely because of what the verb is used for it could either be one or the other in the same context or situation.
Now, I know you can say cannot, which makes perfect sense, but I don't see people using it much.
And on top of that I need to ask why. Why are them too phonetically close? Who would do such a thing?
For someone who has been brought up with english, imagine a language that had "yes" for yes and "yess" for no. Kind of silly isn't it?