Empty : Cont Empty container, isomorphic to Void
As a polynomial functor: F(X) = 0
Initial container
Visibility: public exportScalar : Cont Container of a single thing
As a polynomial functor: F(X) = X
Visibility: public exportUnitCont : Cont Container with a single shape, but no positions. Isomorphic to Unit : Type
As a polynomial functor: F(X) = 1
Terminal container
Visibility: public exportPair : Cont Product, container of two things
Isomorphic to Scalar >*< Scalar
As a polynomial functor: F(X) = X^2
Visibility: public exportEither : Cont Coproduct, container of either one of two things
Isomorphic to Scalar >+< Scalar
As a polynomial functor: F(X) = X + X
Visibility: public exportMaybe : Cont Container of either one thing, or nothing
Isomorphic to Scalar >+< UnitCont
Initial algebra is Nat
As a polynomial functor: F(X) = 1 + X
Visibility: public exportMaybeTwo : Cont Container of either two things, or nothing
Isomorphic to Pair >+< UnitCont
Initial algebra is BinTreeShape
As a polynomial functor: F(X) = 1 + X^2
Visibility: public exportList : Cont List, container with an arbitrary number of things
As a polynomial functor: F(X) = 1 + X + X^2 + X^3 + ...
Visibility: public exportVect : List .Shp -> Cont Vect, container of a fixed/known number of things
As a polynomial functor: F(X) = X^n
Visibility: public exportStream : Cont Container of an infinite number of things
As a polynomial functor: F(X) = X^Nat
Visibility: public exportBinTree : Cont Container of things stored at nodes and leaves of a binary tree
As a polynomial functor: F(X) = 1 + 2X + 3X^2 + 7X^3 + ...
Visibility: public exportBinTreeNode : Cont Container of things stored at nodes of a binary tree
As a polynomial functor: F(X) = 1 + X + 2X^2 + 5X^3 +
Visibility: public exportBinTreeLeaf : Cont Container of things stored at leaves of a binary tree
As a polynomial functor: F(X) = X + X^2 + 2X^3 + 5X^4 +
Visibility: public exportTensor : List Cont -> Cont Tensors are containers
As a polynomial functor: F(X) = ?
Visibility: public exportCartesianTensor : List Cont -> Cont- Visibility: public export
HancockTensor : List Cont -> Cont- Visibility: public export
CoproductTensor : List Cont -> Cont- Visibility: public export
Sample : Nat -> Cont Can't believe this works?
Visibility: public export