Creating a fully functional custom property requires also setting up its limits, description, default value and static override status. It is complex enough to warrant providing an official utility. Currently boolean properties are technically int, but the utility pretends they are separate in case that eventually they are. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D4620