Swapping arguments..
Merge Structure and Witness structures.
Some renamings, implement additional structure.