Will the code below work if these are just treated as `Map` and `List`? i.e. are we calling any methods that are unique to `TreeMap`, `HashMap` or `ArrayList`? This code will be easier to update if we just use the generic types.