implemented disjunction `.or()`, made merge constraint throw ISE.
Fixes #8