This becomes even more obvious when you look at `Option[T]` \- `None` for 
`Option` doesn't know/care about `T` \- when you construct a `None` you don't 
have to provide a value for the "some" side - why would you have to provide its 
type? It's completely irrelevant for the none side (see 
<https://www.koderhq.com/tutorial/rust/enum/#option> for example).

This is actually a major annoyance with `none` in `std/options` \- you 
pointlessly have to provide it with a type, so if you change the return type of 
a function returning `Option` you have to go around and change all the none:s 
as well - this makes it hard to build reusable helpers for it (it's one of the 
key ergonomic deficiencies of `Result` as well, in terms of building reusable 
functionality for it)

Reply via email to