Loan is rollable by default
Making the loan rollable by default gives an unfair early advantage to the borrowers.\\nWhen clearing a new loan, the flag of `rollable` is set to true by default:\\n```\\n    loans.push(\\n        Loan(req, req.amount + interest, collat, expiration, true, msg.sender)\\n    );\\n```\\n\\nThis means a borrower can extend the loan anytime before the expiry:\\n```\\n    function roll (uint256 loanID) external {\\n        Loan storage loan = loans[loanID];\\n        Request memory req = loan.request;\\n\\n        if (block.timestamp > loan.expiry) \\n            revert Default();\\n\\n        if (!loan.rollable)\\n            revert NotRollable();\\n```\\n\\nIf the lenders do not intend to allow rollable loans, they should separately toggle the status to prevent that:\\n```\\n    function toggleRoll(uint256 loanID) external returns (bool) {\\n        // rest of code\\n        loan.rollable = !loan.rollable;\\n        // rest of code\\n    }\\n```\\n\\nI believe it gives an unfair advantage to the borrower because they can re-roll the loan before the lender's transaction forbids this action.
I believe `rollable` should be set to false by default or at least add an extra function parameter to determine the initial value of this status.
Lenders who do not want the loans to be used more than once, have to bundle their transactions. Otherwise, it is possible that someone might roll their loan, especially if the capital requirements are not huge because anyone can roll any loan.
```\\n    loans.push(\\n        Loan(req, req.amount + interest, collat, expiration, true, msg.sender)\\n    );\\n```\\n