That is some excellent and honest language to describe why you put that in the contract the way that you did. Often people don't understand why it's there, and assume malicious intent to "steal" the private work of employees, but as shown in this case, it's simply an IP issue that cannot easily be resolved in a different way as far as you know. Reading your comments on the various places this discussion is happening, your clear and honest answers make me (and probably others) like GitLab even more!