cleaned up passes, use new passing-function, hopefully correct
check dmb_type are the same before collapsing
unittest for dmb removal