The real nightmare comes from the undiscoverability. The right tools can help you out. Unobtrusive JavaScript used to be a nightmare, for example, until Chrome added its 'Event Listeners' tab in the developer tools. Another being the 'Go To Implementation' instead of 'Go To Definition' when writing C# with code that uses interfaces.
Yes, you need coupling when debugging. But it need not be in the libraries and code you use.
Yes, you need coupling when debugging. But it need not be in the libraries and code you use.