Hello,

I have just read the documentation on missing values and while I can’t comment on performance issues I have found it very intuive. The documentation on missing starts as:

`Julia provides support for representing missing values in the statistical sense, that is for situations where no value is available for a variable in an observation, but a valid value theoretically exists.`

Propagation on mathematical operations, behavior in equality, comparison and logical operators are a natural extension of this definition and they make intuitive sense. My question is this: The result of the following operation `0 * missing`

is `missing`

. This also makes sense if the missing object has a theoretical value of any data type. What if we have a missing value yet theoretically we know it should be a real or integer number. Then the result of the above operation should be `0`

. Is there any way to impose a data type such as `Float64`

on the `missing`

object? If not is this a valid and intuitive request?

For example a `missing(Float64)`

object should behave as the following in these two operations: `missing(Float64) * 0`

should yield `0`

, yet `missing(Float64) * 1`

should yield `missing`

.

Thanks.