@arbitrary(unicode)
def unicode_(of=int_(min=0, max=65535), min_length=1, max_length=64):
    length = random.randint(min_length, max_length)
    char = lambda ch: ch if isinstance(ch, basestring) else unichr(ch)
    if is_arbitrary(of):
        return u''.join(char(next(of)) for _ in xrange(length))
    return u''.join(char(random.choice(of)) for _ in xrange(length))


# Common patterns
removes path and dirs going up until a OSError
dataset/ETHPy150Open Xion/pyqcy/pyqcy/arbitraries/strings.py/unicode_--crossover with--dataset/ETHPy150Open Floobits/floobits-sublime/floo/common/utils.py/rm