1.encode the concept of a value being present or absent
2.compile checks whether all the cases are handled
3.prevent bugs
4.need to bring it into scope explicitly
Answer:4