Specific case for complex predicate rendering

I have a specific case, but it requires juggling a few things. For now
these changes work. But there is some additional refactoring that
needs to happen to tidy things up.

Also adding a rudimentary generator for complex predicates, Not that
its all that helpful, but its something.

Closes #17
Line is too long. [141/140]