new more-entropy stops working after generate calls; revives when needed
more flexible versioning
Use iced-lock rather than copy-pasting the lock impl