The default value for `nullable` is true, and my only scruple is whether this is a little strict.

with this, it can make the code clear but increase some coding work, maybe some developers will think it's not so necessary.

How do you think?