Wiring in shadow extraction

WIP: @markhibberd 



There is `ResultT.fromDisjunctionString` to save the bimap. Also, you can do that outside of the `out1.traverseU` (you really should try to push the `ResultT`s to the outer edge of the code where possible)