With Python being so loosely typed - what's acceptable practice here? I'm never quite certain what we do defensively to guard against unexpected structures. For instance, after we get work_items do we:

- check that work_items is not None
- check that oslc:responseInfo is a valid key in work_items
 - ....

Or we do cross our fingers and hope for the best?