Macros

The witness! macro is a closure that takes in a list of circuits, eject the value of each circuit, and uses it in the subsequent code block.
The witness_mode! macro returns the expected mode given a list of circuits.