Imagine we have a data structure like this
sealed class ResultOf { class Success( val value: T ) : ResultOf() class Failure(