I've asked a question about Idris' way of type checking universes. Now I'm trying out some example that would cause universe inconsistency. Here is the easiest one I could come up with
foo : Type
foo = Type
bar : Main.foo
bar = Main.foo
The output error is:
test.idr:2:5:Universe inconsistency.
Working on: z
Old domain: (4,4)
New domain: (4,3)
Involved constraints:
ConstraintFC {uconstraint = z <= w, ufc = test.idr:2:5}
ConstraintFC {uconstraint = y < z, ufc = test.idr:2:5}
ConstraintFC {uconstraint = z <= w, ufc = test.idr:2:5}
Other than the above example, are there any more real examples that cause universe inconsistency? Why are they inconsistent?