IrType
The IR representation of an input or output field
Allowed
T
Nullable<T>
Option<T>
Option<Nullable<T>>
Result<T>
Result<Nullable<T>>
All
List
variations of the above
Disallowed
Nullable<Option<T>>
Nullable<Result<T>>
Nullable<Nullable<T>>
Option<Option<T>>
Option<Result<T>>
Result<Option<T>>
Result<Result<T>>
etc...
We need both Option
and Nullable
to distinguish ?
vs Option
in Kotlin (see this Arrow article). In java Option
and Nullable
might be represented using the same Optional
depending on the settings.