Fix #7642.

Explicitly call convert on append/prepend/splice items to match 1st array elements. This causes a MethodError to be thrown before any array growing/shrinking happens. Fixes #7642.

cc: @kmsquire, in particular I think the `splice!` changes should do the trick, but I'd appreciate a look over to make sure I didn't miss something.
Isn't this pretty useless now that we know that you tried to append an array of None to an array of None. This warning needs to be raised in the other method now.