# PEP 661: Sentinel Values

**URL:** <https://discuss.python.org/t/pep-661-sentinel-values/9126>\
**Category:** PEPs\
**Created:** [June 6, 2021, 8:07am UTC](https://discuss.python.org/t/pep-661-sentinel-values/9126 "2021-06-06T08:07:06Z")\
**Posts on this page:** 1\
**Showing post:** 329

<div class="post-metadata">

**Author:** ![DanielNoord](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/danielnoord/32/8787_2.png) [@DanielNoord](https://discuss.python.org/u/DanielNoord)\
**Post date:** [April 18, 2026, 10:59am UTC](https://discuss.python.org/t/pep-661-sentinel-values/9126/329 "2026-04-18T10:59:47Z")

</div>

Thanks @taleinat for accepting @Jelle’s offer for help. I have done my (admittedly very small) part with a review of Jelle’s [PR](https://github.com/python/peps/pull/4923).

While reviewing I started to wonder whether the PEP should provide guidance for type checkers on how to handle:

```python
MISSING = sentinel('MISSING')
MISSING = sentinel('MISSING')

```

It is very contrived but wouldn’t be surprised if this pattern could emerge in very long modules. Is this a redefinition of `MISSING` that is allowed? Or should this raise an error? Or should each type checker be allowed to choose the behaviour/strictness they want?

_I don’t remember this being discussed in this thread, but I think we can all agree that at this point it is quite hard to remember all the various discussions we have had in it_ 😅

---

_[View the full topic](https://discuss.python.org/t/pep-661-sentinel-values/9126)._
