install_taxonomy_add_vocabulary() needs to be passed an array of content types like this:

array(
story => 1,
)

Surely the install framework should do the legwork for us and take a flat array which it can array_fill_keys().

What's the smart way to sniff out what kind of array we've been passed so we maintain backwards compatibility?