jacob
@instance(Try::class) interface TryMonoidInstance<A> : TrySemigroupInstance<A>, Monoid<Try<A>> { fun MO(): Monoid<A> override fun empty(): Try<A> { return Success(MO().empty()) } }