Add support for type registrations for arrays.
Fix over-aggressive guard against undefined keys.
We were preventing the standard exception throwing for undefined keys.
A test is now in place for the correct behavior.