Handle unexpected types in pstructs gracefully.

Many of the various widget deserialize methods throw `AttributeError`
or other unexpected exceptions when fed unexpected types in their
pstruct.