O programa 'swap and assoc' é um exemplo de bifunctors simétricos e semigrupos em Haskell. Ele é usado para manipular e combinar estruturas de dados de forma eficiente. 