Algebraic Structures for Untyped Racket
The current release provides a that extends with:
As the name implies, Algebraic Racket works with two kinds of structure: sums and products. Algebraic Racket imposes no restrictions on the type or number of arguments accepted by a product. Patterns for literal data are designed to look and feel as similar as possible to the terms they match, including:
Algebraic Racket is distributed in the package in the official Racket package repository.
Source: github.com