# Why can't we merge Missing and Nothing?

**URL:** <https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793>\
**Category:** Internals & Design\
**Created:** [June 28, 2019, 10:03am UTC](https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793 "2019-06-28T10:03:59Z")\
**Posts on this page:** 1\
**Page:** 2

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [July 4, 2019, 2:41pm UTC](https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793/21 "2019-07-04T14:41:39Z")

</div>

> [@HFriberg-mosek](#):
>
> The classic interpretation to use `Missing` when _has a value (but it is unknown)_ and `Nothing` when _has no value_ is definitely flawed for the listed reasons.

[Nay](https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793/16) (if we are summarizing 😉). I think you misunderstood something.

That said, it is more helpful to think about _interfaces_ than philosophical categories. The bottom line is that by default, most functions _propagate_ `missing`, while they _error_ for `nothing`.

A succinct way to demonstrate the difference is

```julia
julia> length(methodswith(Missing))
137

julia> length(methodswith(Nothing))
12

```

[Previous page](https://discourse.julialang.org/t/why-cant-we-merge-missing-and-nothing/25793.md?page=1)
