Specd complex representor

This is intended as a code quality version of the previous PR, please review for merge.
Hm I see what's going on. Still a bit hard to follow could you refactor so the references are more clear.