diff --git a/fragment/fragment-ktx/build.gradle b/fragment/fragment-ktx/build.gradle
index 597fb21..9932a5c 100644
--- a/fragment/fragment-ktx/build.gradle
+++ b/fragment/fragment-ktx/build.gradle
@@ -61,5 +61,4 @@
     mavenGroup = LibraryGroups.FRAGMENT
     inceptionYear = "2018"
     description = "Kotlin extensions for 'fragment' artifact"
-    legacyDisableKotlinStrictApiMode = true
 }
diff --git a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/Fragment.kt b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/Fragment.kt
index 3393de7..f7a834d 100644
--- a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/Fragment.kt
+++ b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/Fragment.kt
@@ -30,10 +30,9 @@
  * @param result the result to be passed to another fragment or `null` if you want to
  *               clear out any pending result.
  */
-fun Fragment.setFragmentResult(
-    requestKey: String,
-    result: Bundle
-) = parentFragmentManager.setFragmentResult(requestKey, result)
+public fun Fragment.setFragmentResult(requestKey: String, result: Bundle) {
+    parentFragmentManager.setFragmentResult(requestKey, result)
+}
 
 /**
  * Clears the stored result for the given requestKey.
@@ -45,9 +44,9 @@
  *
  * @param requestKey key used to identify the result
  */
-fun Fragment.clearFragmentResult(
-    requestKey: String
-) = parentFragmentManager.clearFragmentResult(requestKey)
+public fun Fragment.clearFragmentResult(requestKey: String) {
+    parentFragmentManager.clearFragmentResult(requestKey)
+}
 
 /**
  * Sets the [FragmentResultListener] for a given [requestKey]. Once this Fragment is
@@ -61,7 +60,7 @@
  * @param listener listener for result changes or `null` to remove any previously
  *                 registered listener.
  */
-fun Fragment.setFragmentResultListener(
+public fun Fragment.setFragmentResultListener(
     requestKey: String,
     listener: ((requestKey: String, bundle: Bundle) -> Unit)
 ) {
@@ -79,6 +78,6 @@
  *
  * @param requestKey key used to identify the result
  */
-fun Fragment.clearFragmentResultListener(
-    requestKey: String
-) = parentFragmentManager.clearFragmentResultListener(requestKey)
+public fun Fragment.clearFragmentResultListener(requestKey: String) {
+    parentFragmentManager.clearFragmentResultListener(requestKey)
+}
diff --git a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentManager.kt b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentManager.kt
index 6dc2a5c..1d4b602 100644
--- a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentManager.kt
+++ b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentManager.kt
@@ -23,7 +23,7 @@
  * The transaction will be completed by calling [FragmentTransaction.commit] unless [allowStateLoss]
  * is set to `true` in which case [FragmentTransaction.commitAllowingStateLoss] will be used.
  */
-inline fun FragmentManager.commit(
+public inline fun FragmentManager.commit(
     allowStateLoss: Boolean = false,
     body: FragmentTransaction.() -> Unit
 ) {
@@ -44,7 +44,7 @@
  * [allowStateLoss] is set to `true` in which case [FragmentTransaction.commitNowAllowingStateLoss]
  * will be used.
  */
-inline fun FragmentManager.commitNow(
+public inline fun FragmentManager.commitNow(
     allowStateLoss: Boolean = false,
     body: FragmentTransaction.() -> Unit
 ) {
@@ -71,7 +71,7 @@
  *     | true  | true             |  commitNowAllowingStateLoss()  |
  */
 @Deprecated("Use commit { .. } or commitNow { .. } extensions")
-inline fun FragmentManager.transaction(
+public inline fun FragmentManager.transaction(
     now: Boolean = false,
     allowStateLoss: Boolean = false,
     body: FragmentTransaction.() -> Unit
diff --git a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentTransaction.kt b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentTransaction.kt
index 514ac91..d523bd5 100644
--- a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentTransaction.kt
+++ b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentTransaction.kt
@@ -36,11 +36,11 @@
  *
  * @return Returns the same [FragmentTransaction] instance.
  */
-inline fun <reified F : Fragment> FragmentTransaction.add(
+public inline fun <reified F : Fragment> FragmentTransaction.add(
     @IdRes containerViewId: Int,
     tag: String? = null,
     args: Bundle? = null
-) = add(containerViewId, F::class.java, args, tag)
+): FragmentTransaction = add(containerViewId, F::class.java, args, tag)
 
 /**
  * Add a fragment to the associated [FragmentManager] without
@@ -55,10 +55,10 @@
  *
  * @return Returns the same [FragmentTransaction] instance.
  */
-inline fun <reified F : Fragment> FragmentTransaction.add(
+public inline fun <reified F : Fragment> FragmentTransaction.add(
     tag: String,
     args: Bundle? = null
-) = add(F::class.java, args, tag)
+): FragmentTransaction = add(F::class.java, args, tag)
 
 /**
  * Replace an existing fragment that was added to a container.  This is
@@ -77,8 +77,8 @@
  *
  * @return Returns the same [FragmentTransaction] instance.
  */
-inline fun <reified F : Fragment> FragmentTransaction.replace(
+public inline fun <reified F : Fragment> FragmentTransaction.replace(
     @IdRes containerViewId: Int,
     tag: String? = null,
     args: Bundle? = null
-) = replace(containerViewId, F::class.java, args, tag)
+): FragmentTransaction = replace(containerViewId, F::class.java, args, tag)
diff --git a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentViewModelLazy.kt b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentViewModelLazy.kt
index 45b5a1d..b81cd83 100644
--- a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentViewModelLazy.kt
+++ b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/FragmentViewModelLazy.kt
@@ -52,10 +52,10 @@
  * [Fragment.onAttach()], and access prior to that will result in IllegalArgumentException.
  */
 @MainThread
-inline fun <reified VM : ViewModel> Fragment.viewModels(
+public inline fun <reified VM : ViewModel> Fragment.viewModels(
     noinline ownerProducer: () -> ViewModelStoreOwner = { this },
     noinline factoryProducer: (() -> Factory)? = null
-) = createViewModelLazy(VM::class, { ownerProducer().viewModelStore }, factoryProducer)
+): Lazy<VM> = createViewModelLazy(VM::class, { ownerProducer().viewModelStore }, factoryProducer)
 
 /**
  * Returns a property delegate to access parent activity's [ViewModel],
@@ -74,9 +74,9 @@
  * [Fragment.onAttach()], and access prior to that will result in IllegalArgumentException.
  */
 @MainThread
-inline fun <reified VM : ViewModel> Fragment.activityViewModels(
+public inline fun <reified VM : ViewModel> Fragment.activityViewModels(
     noinline factoryProducer: (() -> Factory)? = null
-) = createViewModelLazy(
+): Lazy<VM> = createViewModelLazy(
     VM::class, { requireActivity().viewModelStore },
     factoryProducer ?: { requireActivity().defaultViewModelProviderFactory }
 )
@@ -86,7 +86,7 @@
  * to default factory.
  */
 @MainThread
-fun <VM : ViewModel> Fragment.createViewModelLazy(
+public fun <VM : ViewModel> Fragment.createViewModelLazy(
     viewModelClass: KClass<VM>,
     storeProducer: () -> ViewModelStore,
     factoryProducer: (() -> Factory)? = null
diff --git a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/View.kt b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/View.kt
index 63ae98f..80858ef 100644
--- a/fragment/fragment-ktx/src/main/java/androidx/fragment/app/View.kt
+++ b/fragment/fragment-ktx/src/main/java/androidx/fragment/app/View.kt
@@ -27,4 +27,4 @@
  * Calling this on a View that does not have a Fragment set will result in an
  * [IllegalStateException]
  */
-fun <F : Fragment> View.findFragment(): F = FragmentManager.findFragment(this)
+public fun <F : Fragment> View.findFragment(): F = FragmentManager.findFragment(this)
diff --git a/fragment/fragment-testing/build.gradle b/fragment/fragment-testing/build.gradle
index d9253a1..40ec1b2 100644
--- a/fragment/fragment-testing/build.gradle
+++ b/fragment/fragment-testing/build.gradle
@@ -48,5 +48,4 @@
     mavenGroup = LibraryGroups.FRAGMENT
     inceptionYear = "2018"
     description = "Extensions for testing 'fragment' artifact"
-    legacyDisableKotlinStrictApiMode = true
 }
diff --git a/fragment/fragment-testing/src/main/java/androidx/fragment/app/testing/FragmentScenario.kt b/fragment/fragment-testing/src/main/java/androidx/fragment/app/testing/FragmentScenario.kt
index 75b33cd..d8694ad 100644
--- a/fragment/fragment-testing/src/main/java/androidx/fragment/app/testing/FragmentScenario.kt
+++ b/fragment/fragment-testing/src/main/java/androidx/fragment/app/testing/FragmentScenario.kt
@@ -28,21 +28,24 @@
     "Superseded by launchFragment that takes an initialState",
     level = DeprecationLevel.HIDDEN
 ) // Binary API compatibility.
-inline fun <reified F : Fragment> launchFragment(
+public inline fun <reified F : Fragment> launchFragment(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     factory: FragmentFactory? = null
-) = launchFragment<F>(fragmentArgs, themeResId, Lifecycle.State.RESUMED, factory)
+): FragmentScenario<F> = launchFragment(
+    fragmentArgs, themeResId, Lifecycle.State.RESUMED,
+    factory
+)
 
 @Deprecated(
     "Superseded by launchFragment that takes an initialState",
     level = DeprecationLevel.HIDDEN
 ) // Binary API compatibility.
-inline fun <reified F : Fragment> launchFragment(
+public inline fun <reified F : Fragment> launchFragment(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     crossinline instantiate: () -> F
-) = launchFragment(fragmentArgs, themeResId) {
+): FragmentScenario<F> = launchFragment(fragmentArgs, themeResId) {
     instantiate()
 }
 
@@ -50,21 +53,24 @@
     "Superseded by launchFragmentInContainer that takes an initialState",
     level = DeprecationLevel.HIDDEN
 ) // Binary API compatibility.
-inline fun <reified F : Fragment> launchFragmentInContainer(
+public inline fun <reified F : Fragment> launchFragmentInContainer(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     factory: FragmentFactory? = null
-) = launchFragmentInContainer<F>(fragmentArgs, themeResId, Lifecycle.State.RESUMED, factory)
+): FragmentScenario<F> = launchFragmentInContainer(
+    fragmentArgs, themeResId, Lifecycle.State.RESUMED,
+    factory
+)
 
 @Deprecated(
     "Superseded by launchFragmentInContainer that takes an initialState",
     level = DeprecationLevel.HIDDEN
 ) // Binary API compatibility.
-inline fun <reified F : Fragment> launchFragmentInContainer(
+public inline fun <reified F : Fragment> launchFragmentInContainer(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     crossinline instantiate: () -> F
-) = launchFragmentInContainer(fragmentArgs, themeResId) {
+): FragmentScenario<F> = launchFragmentInContainer(fragmentArgs, themeResId) {
     instantiate()
 }
 
@@ -80,12 +86,15 @@
  * [Lifecycle.State.CREATED], [Lifecycle.State.STARTED], or [Lifecycle.State.RESUMED].
  * @param factory a fragment factory to use or null to use default factory
  */
-inline fun <reified F : Fragment> launchFragment(
+public inline fun <reified F : Fragment> launchFragment(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     initialState: Lifecycle.State = Lifecycle.State.RESUMED,
     factory: FragmentFactory? = null
-) = FragmentScenario.launch(F::class.java, fragmentArgs, themeResId, initialState, factory)
+): FragmentScenario<F> = FragmentScenario.launch(
+    F::class.java, fragmentArgs, themeResId, initialState,
+    factory
+)
 
 /**
  * Launches a Fragment with given arguments hosted by an empty [FragmentActivity] using
@@ -99,12 +108,12 @@
  * [Lifecycle.State.CREATED], [Lifecycle.State.STARTED], or [Lifecycle.State.RESUMED].
  * @param instantiate method which will be used to instantiate the Fragment.
  */
-inline fun <reified F : Fragment> launchFragment(
+public inline fun <reified F : Fragment> launchFragment(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     initialState: Lifecycle.State = Lifecycle.State.RESUMED,
     crossinline instantiate: () -> F
-) = FragmentScenario.launch(
+): FragmentScenario<F> = FragmentScenario.launch(
     F::class.java, fragmentArgs, themeResId, initialState,
     object : FragmentFactory() {
         override fun instantiate(
@@ -129,12 +138,12 @@
  * [Lifecycle.State.CREATED], [Lifecycle.State.STARTED], or [Lifecycle.State.RESUMED].
  * @param factory a fragment factory to use or null to use default factory
  */
-inline fun <reified F : Fragment> launchFragmentInContainer(
+public inline fun <reified F : Fragment> launchFragmentInContainer(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     initialState: Lifecycle.State = Lifecycle.State.RESUMED,
     factory: FragmentFactory? = null
-) = FragmentScenario.launchInContainer(
+): FragmentScenario<F> = FragmentScenario.launchInContainer(
     F::class.java, fragmentArgs, themeResId, initialState,
     factory
 )
@@ -154,12 +163,12 @@
  * simplification of the [FragmentFactory] interface for cases where only a single class
  * needs a custom constructor called.
  */
-inline fun <reified F : Fragment> launchFragmentInContainer(
+public inline fun <reified F : Fragment> launchFragmentInContainer(
     fragmentArgs: Bundle? = null,
     @StyleRes themeResId: Int = R.style.FragmentScenarioEmptyFragmentActivityTheme,
     initialState: Lifecycle.State = Lifecycle.State.RESUMED,
     crossinline instantiate: () -> F
-) = FragmentScenario.launchInContainer(
+): FragmentScenario<F> = FragmentScenario.launchInContainer(
     F::class.java, fragmentArgs, themeResId, initialState,
     object : FragmentFactory() {
         override fun instantiate(
@@ -178,7 +187,7 @@
  * If any exceptions are raised while running [block], they are rethrown.
  */
 @SuppressWarnings("DocumentExceptions")
-inline fun <reified F : Fragment, T : Any> FragmentScenario<F>.withFragment(
+public inline fun <reified F : Fragment, T : Any> FragmentScenario<F>.withFragment(
     crossinline block: F.() -> T
 ): T {
     lateinit var value: T
