def _isiterable(obj):
    """
    Copied from putil.misc module, not included to avoid recursive inclusion
    of putil.pcontracts module
    """
    try:
        iter(obj)
    except TypeError:
        return False
    else:
        return True
