Refactor Participant enum to contain structs
Currently there are many methods which interact with participants of only Participant::Contributor or Participant::Verifier. They are not statically type-safe (when they could be), and realistically require runtime validation of input/output. It would be better to refactor this enum to contain a Contributor struct and a Verifier struct, and all methods which pertain specifically to that type of participant to accept or return only that type. This would improve the clarity of many api's spread throughout the phase1-coordinator codebase, and reduce the chance of a mistake resulting in a runtime error.
This is a big refactor, but I think it will be very helpful if we intend to maintain this software going into the future.