def describe(obj):
    """ Exploratory introspection function that outputs information on 
    allattributes of an object.
    Tends to print a lot of output, so it might be advised to pipe or send it 
    to a file over which one can easily search.
    """
    for key in dir(obj):
        try:
            val = getattr(obj, key)
        except AttributeError:
            continue
        if callable(val):
            help(val)
        else:
            print('{k} => {v!r}'.format(k=key, v=val))
        print(80 * '-')
