The following microjuvix code typechecks as expected:
module ListList;
infixr 5 ∷;
inductive List (A : Type) {
nil : List A;
∷ : A → List A → List A;
};
inductive Foo {
a : Foo;
};
l : List (List Foo) → List (List Foo);
l ((_ ∷ nil) ∷ nil) ≔ nil ∷ nil;
end;
However after monomorphization the l@7 function is ill-typed.
The following microjuvix code typechecks as expected:
However after monomorphization the
l@7
function is ill-typed.minijuvix monojuvix --show-name-ids ListList.mjuvix