In short:
Never marks states as impossible
empty : Is Possibly Empty filling_Possibly marks states as possible
top : Is Never Empty (StackFilled element) -> element→ you can carry over non-emptiness-information
import Fillable exposing (Is(..), toFillingOrIfEmpty)
type Focus item possiblyOrNever hole
= Item item
| Hole possiblyOrNever
type Hole
= HoleTag Never
toFocus :
Is possiblyOrNever Empty value
-> Focus value possiblyOrNever Hole
toFocus =
\fillable ->
case fillable of
Empty possiblyOrNever ->
Hole possiblyOrNever
Filled value ->
value |> Itemor
toFocus =
\fillable ->
fillable
|> Fillable.map Item
|> toFillingOrIfEmpty HoleIf you still have questions, check out the readme.
Marks a state as possible to occur.
in results
in type declarations
where
WithoutConstructorFunctionstops the compiler from creating a positional constructor function forModel.Read more about the general idea in the module documentation. or readme.