Fix another fundep error (fixes Trac #4969)
If I had a pound for every hour Dimitrios and I have spent making functional dependencies work right, we'd be rich! We had stupidly caused a 'wanted' to be rewritten by a 'derived', with resulting abject failure. As well as fixing the bug, this patch refactors some more, adds useful assert and comments.
Showing with 213 additions and 183 deletions