1 // This is an example why you need the value restriction.
2 // This program should give a type error in some way.
4 // The empty list [] usually has polymorphic type forall a.[a], but you
5 // cannot give the variable l this type. See below what can go wrong.
10 // If l has polymorphic type forall a . [a], the next two lines are possible.