The contract is saying that you can request a withdrawal at any time. It is totally obvious that the bank can't process a withdrawal if they don't have the money. They could add that clause to the contract, but there would be no point -- everyone understands that already.
I'm sorry, but the contract
must explicitly define such things. I'm among the minority group of libertarians that disagree that fractional reserves are inherently fraudulent - they certainly don't need to be. But the terms should all be explicit, otherwise it's indeed a fraud.
"Implicit contracts" are only tolerable for really obvious things, where no reasonable person would think otherwise (classic example: you invite me for a ride on your boat: there's an implicit agreement that you'll bring me back to the shore, and not order me to leave your property in the middle of the sea)