1.Useful for generics.
2.If you don't want to store in the type itself.
3.behave similar to ().
4.All of the above
Answer:4