cdepillabout
sealed class Envelope<T, E> { class Success(val data: T): Envelope<T,E>() class Error(val err: E, val extra: String): Envelope<T, E>() }