Type - library for type checking and mathematical properties
Intersection -
a type representing the intersection of several types
Predicate -
a type for testing object satisfying a given predicate
TableOf -
a type representing tables
MuPAD Combinat, an open source algebraic combinatorics package