import itertools


def self_cross_product(it, length=2):
    """
    Return all unordered permutations with repeated elements of `it`
    with itself.

    >>> self_cross_product(('happy', 'feet'))
    (
            ('happy', 'happy'),
            ('happy', 'feet'),  # wombo combo
            ('feet', 'happy'),
            ('feet', 'feet')
    )
    """
    return tuple(itertools.product(it, repeat=length))