Programming language agnostic type construction language based on polynomials.
We need a mathematically clean but useful type specification language.
Polynomials - 0 void or the empty type - 1 the unit type - + co-products of types - × products of types Kleene star - ⋆ (A⋆):type ↦ (Σ n:nat. A[n]):type
-  Nicola Gambino, Joachim Kock Polynomial Functors and Polynomial Monads polynomials.pdf https://arxiv.org/abs/0906.4931