{ "id": "t2_length", "title": "List length (polymorphic, locally-defined List)", "description": "Write a complete AILang module named t2_length. It must define a local algebraic data type List a with constructors Nil and Cons a (List a). It must export a top-level function length : forall a. (List a) -> Int that returns the number of elements in the list. It must also export main : () -> () !IO that prints length(Nil) and then length(Cons(7, Cons(8, Cons(9, Nil)))), each on its own line.", "expected_stdout": "0\n3\n", "reference_solution": "t2_length.reference.ail.json" }