library {
  // module name: <TopLevelFunctions.kt>

  library fragment {
    // package name: <root>

    // class name: A
    // class name: B
    // class name: Foo

    public final annotation class A : kotlin/Annotation {

      public constructor()
    }

    public final annotation class B : kotlin/Annotation {

      public constructor()
    }

    public final class Foo : kotlin/Any {

      public constructor()
    }

    package {

      @A
      @B
      public final fun a(): kotlin/Unit

      public final fun Foo.e(): kotlin/Unit

      public final fun f1(x: Foo): kotlin/Unit

      public final fun f2(x: Foo, y: Foo): kotlin/Int

      public final inline fun i1(block: kotlin/Function0<Foo>): kotlin/Unit

      public final inline fun i2(noinline block: kotlin/Function0<Foo>): kotlin/Unit

      public final inline fun i3(crossinline block: kotlin/Function0<Foo>): kotlin/Unit

      public final fun i4(block: kotlin/Function1<Foo, kotlin/Int>): kotlin/Unit

      public final fun i5(block: kotlin/Function2<Foo, Foo, kotlin/Int>): kotlin/Unit

      public final fun i6(block: @kotlin/ExtensionFunctionType kotlin/Function1<Foo, kotlin/Int>): kotlin/Unit

      public final fun i7(block: @kotlin/ExtensionFunctionType kotlin/Function2<Foo, Foo, kotlin/Int>): kotlin/Unit

      public final fun <T#0 /* T */> t1(x: Foo): kotlin/Unit

      public final fun <T#0 /* T */> t2(x: T#0): kotlin/Unit

      public final fun <T#0 /* T */, T#1 /* F */> t3(x: T#0, y: T#1): kotlin/Unit

      public final inline fun <reified T#0 /* T */> t4(x: T#0): kotlin/Unit

      public final fun <T#0 /* T */ : kotlin/Number> t5(x: T#0): kotlin/Unit
    }
  }
}
