add some tests for empty maps, nested empty maps and huge maps, add a test for a array of maps and make sure it fails with a sensible error message