I'm not sure about the behaviour of this method - it sometimes returns an array, and sometimes a hash. 

That makes any method which calls this needs to be unnecessarily complex, eg see the definition of `Failure::Base.filter_by_class_name_from`

Why not just *always* return an array - this would keep compatibility with 1.x? If you really need the hash behaviour somewhere, have a separate method that explicitly does that.