As Russ Cox, a somewhat famous Gopher, noted, that's an NP-complete problem. You can pay in effort (several different interpretations of "flattening"), in compile speed(running a SAT solver) or you can fail (;-))
This won't help you, but the last three times we ran into this, we changed the problem definition so we could achieve it. See “DLL Hell”, and avoiding an NP-complete problem <https://leaflessca.wordpress.com/2017/02/12/dll-hell-and-avoiding-an-np-complete-problem/> and especially David J Brown's paper, referred to there. --dave [I used to work for David J, my "evil twin". My notably smarter twin, too] -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.