package Ġcom . example . domain Ċ Ċ sealed Ġclass ĠState < out ĠT > Ġ{ ĊĠĠĠ Ġdata Ġclass ĠSuccess < out ĠR >( val Ġvalue : ĠR ) Ġ: ĠState < R >() ĊĠĠĠ Ġdata Ġclass ĠFailure ( val Ġerror : ĠThrowable ) Ġ: ĠState < Nothing >() ĊĠĠĠ Ġobject ĠLoading Ġ: ĠState < Nothing >() Ċ } Ċ