For each type in this module: inductive types list their declared constructors; opaque types list any local function whose name starts with mk and which returns a value of that type.
{
r : Denser | phase r = 0
&&
(dataset r = dataset n && (side r = out && (channels r = filters && (features r = features n + 1 && hidden r = 0))))
}
{
r : Denser | phase r = 0
&&
(dataset r = dataset n && (side r = out && (channels r = channels n && (features r = features n + 1 && hidden r = 0))))
}
{r : Denser | phase r = 1 && (dataset r = dataset n && (features r = features n && hidden r = 0))}
{r : Denser | phase r = 1 && (dataset r = dataset n && (features r = features n && hidden r = hidden n + 1))}
{r : Denser | phase r = 2 && dataset r = dataset n}
{r : Denser | phase r = 3 && dataset r = dataset n}
{r : Denser | phase r = 3 && dataset r = dataset n}
{r : Denser | phase r = 3 && dataset r = dataset n}