Unify some adversary types and make use of copatterns
build system