Don't try to flatten promises inside callable stuff.
Ignore AttributeError when trying to write to an attribute we've flattened.

Some attributes are read-only. It sucks that we did the work to flatten
it if we can't actually update it, but at least this way we get to see
the rest of the data.
Remove leftover debug output.
Test the passthrough types on flatten_promises.