Separate properties from other kinds of member.

def _split_props(thing, doc):
    """
    Separate properties from other kinds of member.
    """
    props = inspect.getmembers(thing, lambda o: isinstance(o, property))
    ps = []
    docs = [
        (*_get_names(names, types), names, types, desc) for names, types, desc in doc
    ]
    for prop_name, prop in props:
        in_doc = [d for d in enumerate(docs) if prop_name in d[0]]
        for d in in_doc:
            docs.remove(d)
        ps.append(prop_name)
    if len(docs) > 0:
        _, _, names, types, descs = zip(*docs)
        return ps, zip(names, types, descs)
    return ps, []