Stuff hidden in libraries - what do you do when it doesn't work?

I've come across this problem several times. Someone creates a library intended to simplify stuff but what I want do isn't what the library author thought I would want to do (or I can't figure what he wanted to do). Then I spend more time trying to figure out why it's not working than if I just wrote my own code in the first place.

From this video about the Boeing 737 Max problems it seems like the exact same thing happened there - but with deadly consequences. The pilots didn't know what the software was intended to do and they didn't have time to figure out a solution. (They had not even been told the software existed).


Sometimes finding an earlier version of the library that was simpler was the solution. I could understand it and use it better than the do-it-all more cumbersome later version.

And the 737 max issue, in my opinion is greed at its best, selling the angle of attack disagree light and the angle gauge as options (unknown cost). If these were standard, it would have made it possible for pilots who encountered issues to point to these indicators and say there's something wrong and the MCAS system acted on false data and enough of those more specific complaints may have caused Boeing to do something to prevent those disasters.