compare two json-like objects for equality
parameters must be either null, num, bool, String or a List or Map of these types
this is an alternative too DeepCollectionEquality().equals, which is very slow and has
O(n^2) complexity
a function that compares two json-like maps for deep equality
more performant alternative to DeepCollectionEquality which has O(n^2) time complexity (where n is the level of nesting)
but also very slow on flat maps