BEFORE MODIFICATION: public final [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] arg: R|kotlin/Any?|, [ResolvedTo(BODY_RESOLVE)] num: R|kotlin/Int?|, [ResolvedTo(BODY_RESOLVE)] block: R|() -> kotlin/Unit|): R|kotlin/Unit| [Contract description] < #().#((R|/arg| is R|kotlin/String|)), #().#(!=(R|/num|, Null(null))), #(R|/block|, #.#) > { #((R|/arg| is R|kotlin/String|)) #(!=(R|/num|, Null(null))) R|/block|.R|SubstitutionOverride|() } AFTER MODIFICATION: public final [ResolvedTo(ANNOTATION_ARGUMENTS)] fun foo([ResolvedTo(BODY_RESOLVE)] arg: R|kotlin/Any?|, [ResolvedTo(BODY_RESOLVE)] num: R|kotlin/Int?|, [ResolvedTo(BODY_RESOLVE)] block: R|() -> kotlin/Unit|): R|kotlin/Unit| { LAZY_BLOCK }