In https://www.seas.harvard.edu/courses/cs152/2019sp/lectures/lec18-monads.pdf it is written that
A type $ \tau$ list is the type of lists with elements of type $ \tau$
Why must a list contain elements of the same type? Why can’t it contain elements of different types?
Is there a way of defining a list polymorphically in the typed lambda calculus, so that it takes elements of any type?
Can we then use the List monad on lists, defined polymorphically?