Bear this in mind when creating contracts:
You can draft a contract with the aim of making it either fool-proof (by drafting it in simple terms) or rogue-proof (by drafting complex, detailed terms), but not both
This comes from a speech from Max Abrahamson, whose principles of risk management in construction contracts I often refer to, at the Centre for Construction Law’s 1988 conference. It is cited in John Barber’s SCL Paper D205 (link here, free for members).
I don’t think it is possible to draft your contract so it is watertight (or leak-proof).
I don’t think it is wise to draft your contracts for the rogues who will always make your business-life tricky.
I do think you should draft your contracts for the users, fools or not!