// FIR_IDENTICAL interface FlameGraphModel internal typealias CallUsageNode = CallTreeNode interface CallTreeNode : TreeNodeWithParent> interface TreeNodeWithParent interface CallWithValue abstract class BaseCallStackElement open class CallUsageNodeFlameGraphModel : FlameGraphModel> fun foo(model: FlameGraphModel) { // K1: Ok val afterCast = model as CallUsageNodeFlameGraphModel } internal typealias CallTreeNodeTypealias = CallTreeNode open class CallUsageNodeFlameGraphModelWithTypealiasedSupertypeArgument : FlameGraphModel> fun bar(model: FlameGraphModel) { // K1: Ok val afterCast = model as CallUsageNodeFlameGraphModelWithTypealiasedSupertypeArgument }