major refactor finished. Now checking schemas recursively. Top-level arrays work.