``` @instance(L::class) instance LShowInstance<...
# arrow
s
Copy code
@instance(L::class)
instance LShowInstance<A> : Show<L<A>> {
   fun S(): Show<A> //dependeny on Show<A>
   fun L<A>.show() = l.joinToString { S().run { it.show() } }
}