If an array is fed into input object coercion it should be rejected directly, rather than passing the object check and then failing on the keys checks.
See this repro:
https://gist.github.com/benjie/58ba75340a85b0da4b403973bea2c5fb
Seems like adding a !Array.isArray(...) check should cover it?