dump: use predicate instead of is_a?