[Commonizer] Enable Optimistic Number Commonization by default

Initially it was restricted to work with type aliases only KT-48455
see test `test property with aliased number return type`

This limitation should be lifted now in order to fix KT-48568

^KT-48568 Verification Pending
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeAliasCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeAliasCommonizer.kt
index ce04d83..f074d09 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeAliasCommonizer.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeAliasCommonizer.kt
@@ -17,7 +17,7 @@
 ) : NullableSingleInvocationCommonizer<CirTypeAlias> {
 
     private val typeCommonizer = typeCommonizer.withOptions {
-        withBackwardsTypeAliasSubstitutionEnabled(false).withOptimisticNumberTypeCommonizationEnabled(true)
+        withBackwardsTypeAliasSubstitutionEnabled(false)
     }
 
     override fun invoke(values: List<CirTypeAlias>): CirTypeAlias? {
diff --git a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeCommonizer.kt b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeCommonizer.kt
index 8c5ae9a..c2e419d 100644
--- a/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeCommonizer.kt
+++ b/native/commonizer/src/org/jetbrains/kotlin/commonizer/core/TypeCommonizer.kt
@@ -34,7 +34,7 @@
     }
 
     data class Options(
-        val enableOptimisticNumberTypeCommonization: Boolean = false,
+        val enableOptimisticNumberTypeCommonization: Boolean = true,
         val enableCovariantNullabilityCommonization: Boolean = false,
         val enableForwardTypeAliasSubstitution: Boolean = true,
         val enableBackwardsTypeAliasSubstitution: Boolean = true,
diff --git a/native/commonizer/testData/callableMemberCommonization/returnTypes/commonized/common/package_root.kt b/native/commonizer/testData/callableMemberCommonization/returnTypes/commonized/common/package_root.kt
index d5b5e34..844feaf 100644
--- a/native/commonizer/testData/callableMemberCommonization/returnTypes/commonized/common/package_root.kt
+++ b/native/commonizer/testData/callableMemberCommonization/returnTypes/commonized/common/package_root.kt
@@ -27,6 +27,12 @@
 expect fun function6(): Planet
 expect fun function7(): C
 
+// Optimistic Number Commonization: KT-48455, KT-48568
+expect val propertyWithMismatchedType1: Int
+expect val propertyWithMismatchedType2: Short
+expect fun functionWithMismatchedType1(): Int
+expect fun functionWithMismatchedType2(): Short
+
 expect class Box<T>(value: T) {
     val value: T
 }
diff --git a/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt
index b9348ee..c391257 100644
--- a/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt
+++ b/native/commonizer/testData/propertyCommonization/liftingUpConst/commonized/common/package_root.kt
@@ -19,3 +19,10 @@
 expect val property18: String
 const val property19: Char = 42.toChar()
 expect val property20: Char
+
+// Optimistic Number Commonization: KT-48455, KT-48568
+// Mismatched const types should be commonized as expect val's
+expect val property22: Byte
+expect val property23: Short
+expect val property24: Int
+expect val property26: Float
\ No newline at end of file
diff --git a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/hierarchical/HierarchicalOptimisticNumbersTypeCommonizerTest.kt b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/hierarchical/HierarchicalOptimisticNumbersTypeCommonizerTest.kt
index f4c5b9f..6e70227 100644
--- a/native/commonizer/tests/org/jetbrains/kotlin/commonizer/hierarchical/HierarchicalOptimisticNumbersTypeCommonizerTest.kt
+++ b/native/commonizer/tests/org/jetbrains/kotlin/commonizer/hierarchical/HierarchicalOptimisticNumbersTypeCommonizerTest.kt
@@ -678,12 +678,7 @@
             simpleSingleSourceTarget("b", "val x: ULong = null!!")
         }
 
-        /*
-        Only commonize return types that were specified using a type-alias.
-        As with function value parameters, this is not a hard requirement.
-        It would also be reasonable to support this case.
-         */
-        result.assertCommonized("(a, b)", "")
+        result.assertCommonized("(a, b)", "expect val x: kotlin.UInt")
     }
 
     fun `test property with aliased number return type`() {