package main

import (
	"slices"
	"unicode"
)

func isAlphaNum(c rune) bool {
	return unicode.IsLetter(c) || unicode.IsNumber(c)
}

func assert(cond bool) {
	if cond != true {
		panic("Assertion Failed")
	}
}

// Ensure that the given elements are only appended to the given slice if they
// don't already exist.
func unique_append[T comparable](slc []T, items ...T) []T {
	for _, item := range items {
		if !slices.Contains(slc, item) {
			slc = append(slc, item)
		}
	}
	return slc
}