Understanding Various Types of Agreements in Contracts and Law