Designing Contract Types For Contracts