`v.is_a?` replaced with `v.respond_to?`