In a type-safe builder DSL, what does annotating the builder receiver types with a `@DslMarker` annotation prevent?
@DslMarker
annotation class HtmlDsl
@HtmlDsl class Html { fun body(block: Body.() -> Unit) {} }
@HtmlDsl class Body { fun p(block: () -> Unit) {} }