handle

open override fun handle(ctx: HandlerNode): ResultNode

We intentionally override the logic of Handler.handle because we do not want the map-based logic, but rather want to make use of the Kotlin-when syntax.

We also want to support nullable results for some handlers, e.g., when ignoring private declarations in dependencies.