recognize Array type declarations that also specify the type of elements

When a parameter declaration specifies the array element type for validation (e.g. `type: [Integer]`), then `type` is actually equal to `Class` because it **is** an array, so we need to also evaluate `type.is_a?(Array)`.