If `value is None` but `allow_none` is False, do we want to error immediately, rather than letting the trait check it? Are there any situations where the traitlet should accept `None` without the `allow_none` setting? I guess you could have `Instance(NoneType)`, but I can't think of any reason you would do that.