Add :before_type & :after_type for where the before and after are different type