Also there should be a guard `is_list(Dict)` in the last clause or it may fail with `badarg` instead of `function_clause`.