Make the whole thing work.

Turns out by removing the is_array() check from isAssociativeArray() and
instead enforcing it with a type-safe parameter, I broke the whole
thing. Unfortunately, I've only just discovered that as I haven't been
testing it until now because I'm lazy.