Understanding the Various Types of Agreements in Contract Law