Improve Layout API usage

Layout's blocks are now named "measureBlock" and
"positioningBlock" to make them more readable. This also
means that ComplexLayout and Layout have the same "layout"
method.

Layout can now accept varargs rather than the previous
array. This makes the syntax much prettier.

I also used trailing lambda syntax when it was most
readable. I made it so that if Layout accepted a
children variable, it didn't use a named parameter
and used the trailing lambda syntax for the
measureBlock. When children was a short lambda I
used children = {} named parameter syntax, followed by
trailing lambda syntax for measureBlock. When
the Composable was long, I used named parameters
for both children and measureBlock.

Test: ran ui-platform and ui-layout connectedCheck
Change-Id: Ia3d35c4dc2b73b40eaaccc039d94075d45865ec3
diff --git a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/FancyScrolling.kt b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/FancyScrolling.kt
index f7d5a45..4c98b42 100644
--- a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/FancyScrolling.kt
+++ b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/FancyScrolling.kt
@@ -100,9 +100,9 @@
                         drawItems(canvas, scroll, width, parentSize.height.value, paint)
                     }
                 }
-                Layout(children = children, layoutBlock = { _, constraints ->
+                Layout(children) { _, constraints ->
                     layout(constraints.maxWidth, IntPx(1200)) {}
-                })
+                }
             }
         }
     }
diff --git a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloAnimationActivity.kt b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloAnimationActivity.kt
index ab11074..887043da 100644
--- a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloAnimationActivity.kt
+++ b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloAnimationActivity.kt
@@ -46,9 +46,9 @@
 
 @Composable
 fun HelloAnimation() {
-    Layout(children = { ColorRect() }, layoutBlock = { _, constraints ->
+    Layout(children = { ColorRect() }) { _, constraints ->
         layout(constraints.maxWidth, constraints.maxHeight) {}
-    })
+    }
 }
 
 private val background = ColorPropKey()
diff --git a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloGestureBasedAnimationActivity.kt b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloGestureBasedAnimationActivity.kt
index 868f2fa..a3e6399 100644
--- a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloGestureBasedAnimationActivity.kt
+++ b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/HelloGestureBasedAnimationActivity.kt
@@ -75,9 +75,9 @@
                 DrawScaledRect(scale = state[scale], color = state[color])
             }
         }
-        Layout(children = children, layoutBlock = { _, constraints ->
+        Layout(children) { _, constraints ->
             layout(constraints.maxWidth, constraints.maxHeight) {}
-        })
+        }
     }
 }
 
diff --git a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SpringBackScrolling.kt b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SpringBackScrolling.kt
index 28fa330..a4f4214 100644
--- a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SpringBackScrolling.kt
+++ b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SpringBackScrolling.kt
@@ -110,9 +110,9 @@
                         drawRects(canvas, parentSize, paint, animScroll.value)
                     }
                 }
-                Layout(children = children, layoutBlock = { _, constraints ->
+                Layout(children) { _, constraints ->
                     layout(constraints.maxWidth, IntPx(1200)) {}
-                })
+                }
             }
         }
     }
diff --git a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SwipeToDismiss.kt b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SwipeToDismiss.kt
index 1155e87..dd8968e0 100644
--- a/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SwipeToDismiss.kt
+++ b/ui/ui-animation/integration-tests/animation-demos/src/main/java/androidx/ui/animation/demos/SwipeToDismiss.kt
@@ -136,9 +136,9 @@
             OnChildPositioned({ coordinates ->
                 itemWidth.value = coordinates.size.width.value * 2 / 3f
             }) {
-                Layout(children = children, layoutBlock = { _, constraints ->
-                layout(constraints.maxWidth, IntPx(height.toInt())) {}
-            })
+                Layout(children) { _, constraints ->
+                    layout(constraints.maxWidth, IntPx(height.toInt())) {}
+                }
             }
         }
     }
diff --git a/ui/ui-framework/api/1.0.0-alpha01.txt b/ui/ui-framework/api/1.0.0-alpha01.txt
index 8b93774..49b6438 100644
--- a/ui/ui-framework/api/1.0.0-alpha01.txt
+++ b/ui/ui-framework/api/1.0.0-alpha01.txt
@@ -8,7 +8,7 @@
 
   public final class ComplexLayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layoutResult(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
     method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
@@ -18,9 +18,9 @@
   }
 
   public final class ComplexLayoutReceiver {
-    method public void layout(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void maxIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightBlock);
     method public void maxIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthBlock);
+    method public void measure(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void minIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightBlock);
     method public void minIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthBlock);
   }
@@ -60,7 +60,7 @@
   public final class LayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public operator java.util.List<androidx.ui.core.Measurable> get(java.util.List<? extends androidx.ui.core.Measurable>, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
     property public androidx.ui.core.Density density;
   }
@@ -80,8 +80,8 @@
   public final class LayoutKt {
     ctor public LayoutKt();
     method public static void ComplexLayout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComplexLayoutReceiver,kotlin.Unit> block);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
     method public static void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
     method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
diff --git a/ui/ui-framework/api/current.txt b/ui/ui-framework/api/current.txt
index 8b93774..49b6438 100644
--- a/ui/ui-framework/api/current.txt
+++ b/ui/ui-framework/api/current.txt
@@ -8,7 +8,7 @@
 
   public final class ComplexLayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layoutResult(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
     method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
@@ -18,9 +18,9 @@
   }
 
   public final class ComplexLayoutReceiver {
-    method public void layout(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void maxIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightBlock);
     method public void maxIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthBlock);
+    method public void measure(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void minIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightBlock);
     method public void minIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthBlock);
   }
@@ -60,7 +60,7 @@
   public final class LayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public operator java.util.List<androidx.ui.core.Measurable> get(java.util.List<? extends androidx.ui.core.Measurable>, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
     property public androidx.ui.core.Density density;
   }
@@ -80,8 +80,8 @@
   public final class LayoutKt {
     ctor public LayoutKt();
     method public static void ComplexLayout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComplexLayoutReceiver,kotlin.Unit> block);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
     method public static void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
     method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
diff --git a/ui/ui-framework/api/restricted_1.0.0-alpha01.txt b/ui/ui-framework/api/restricted_1.0.0-alpha01.txt
index 8b93774..49b6438 100644
--- a/ui/ui-framework/api/restricted_1.0.0-alpha01.txt
+++ b/ui/ui-framework/api/restricted_1.0.0-alpha01.txt
@@ -8,7 +8,7 @@
 
   public final class ComplexLayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layoutResult(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
     method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
@@ -18,9 +18,9 @@
   }
 
   public final class ComplexLayoutReceiver {
-    method public void layout(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void maxIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightBlock);
     method public void maxIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthBlock);
+    method public void measure(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void minIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightBlock);
     method public void minIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthBlock);
   }
@@ -60,7 +60,7 @@
   public final class LayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public operator java.util.List<androidx.ui.core.Measurable> get(java.util.List<? extends androidx.ui.core.Measurable>, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
     property public androidx.ui.core.Density density;
   }
@@ -80,8 +80,8 @@
   public final class LayoutKt {
     ctor public LayoutKt();
     method public static void ComplexLayout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComplexLayoutReceiver,kotlin.Unit> block);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
     method public static void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
     method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
diff --git a/ui/ui-framework/api/restricted_current.txt b/ui/ui-framework/api/restricted_current.txt
index 8b93774..49b6438 100644
--- a/ui/ui-framework/api/restricted_current.txt
+++ b/ui/ui-framework/api/restricted_current.txt
@@ -8,7 +8,7 @@
 
   public final class ComplexLayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layoutResult(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.Measurable, androidx.ui.core.IntPx w);
     method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.Measurable, androidx.ui.core.IntPx h);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
@@ -18,9 +18,9 @@
   }
 
   public final class ComplexLayoutReceiver {
-    method public void layout(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void maxIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightBlock);
     method public void maxIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthBlock);
+    method public void measure(kotlin.jvm.functions.Function3<? super androidx.ui.core.ComplexLayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
     method public void minIntrinsicHeight(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightBlock);
     method public void minIntrinsicWidth(kotlin.jvm.functions.Function3<? super androidx.ui.core.IntrinsicMeasurementReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthBlock);
   }
@@ -60,7 +60,7 @@
   public final class LayoutBlockReceiver implements androidx.ui.core.DensityReceiver {
     method public operator java.util.List<androidx.ui.core.Measurable> get(java.util.List<? extends androidx.ui.core.Measurable>, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> block);
+    method public androidx.ui.core.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, kotlin.jvm.functions.Function1<? super androidx.ui.core.PositioningBlockReceiver,kotlin.Unit> positioningBlock);
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Measurable, androidx.ui.core.Constraints constraints);
     property public androidx.ui.core.Density density;
   }
@@ -80,8 +80,8 @@
   public final class LayoutKt {
     ctor public LayoutKt();
     method public static void ComplexLayout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComplexLayoutReceiver,kotlin.Unit> block);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> layoutBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, kotlin.jvm.functions.Function3<? super androidx.ui.core.LayoutBlockReceiver,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,androidx.ui.core.LayoutResult> measureBlock);
     method public static void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
     method public static void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
     method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/AnimationGestureSemanticsActivity.kt b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/AnimationGestureSemanticsActivity.kt
index 9646e80..5fde1f2 100644
--- a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/AnimationGestureSemanticsActivity.kt
+++ b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/AnimationGestureSemanticsActivity.kt
@@ -205,7 +205,7 @@
             ) { state ->
                 Circle(color = state[colorKey], sizeRatio = state[sizeKey])
             }
-        }, layoutBlock = { _, constraints ->
+        }, measureBlock = { _, constraints ->
             layout(constraints.maxWidth, constraints.maxHeight) {}
         })
     }
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt
index e5fc52d..f1b1249 100644
--- a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt
+++ b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt
@@ -27,7 +27,6 @@
 import androidx.ui.core.toRect
 import androidx.ui.graphics.Color
 import androidx.ui.painting.Paint
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.graphics.Brush
@@ -35,14 +34,14 @@
 
 @Composable
 fun ColoredRect(brush: Brush, width: Dp? = null, height: Dp? = null) {
-    Layout(children = { DrawFillRect(brush = brush) }, layoutBlock = { _, constraints ->
+    Layout(children = { DrawFillRect(brush = brush) }) { _, constraints ->
         layout(
             width?.toIntPx()?.coerceIn(constraints.minWidth, constraints.maxWidth)
                 ?: constraints.maxWidth,
             height?.toIntPx()?.coerceIn(constraints.minHeight, constraints.maxHeight)
                 ?: constraints.maxHeight
         ) {}
-    })
+    }
 }
 
 @Composable
@@ -66,33 +65,31 @@
     content: @Composable() () -> Unit
 ) {
     @Suppress("USELESS_CAST")
-    Layout(
-        childrenArray = arrayOf(header, content, footer),
-        layoutBlock = { measurables, constraints ->
-            val headerPlaceable = measurables[header].first().measure(
-                Constraints.tightConstraints(constraints.maxWidth, 100.ipx)
-            )
-            val footerPadding = 50.ipx
-            val footerPlaceable = measurables[footer].first().measure(
-                Constraints.tightConstraints(constraints.maxWidth - footerPadding * 2, 100.ipx)
-            )
-            val itemHeight =
-                (constraints.maxHeight - headerPlaceable.height - footerPlaceable.height) /
-                        measurables[content].size
-            val contentPlaceables = measurables[content].map { measurable ->
-                measurable.measure(Constraints.tightConstraints(constraints.maxWidth, itemHeight))
-            }
+    Layout(header, content, footer) { measurables, constraints ->
+        val headerPlaceable = measurables[header].first().measure(
+            Constraints.tightConstraints(constraints.maxWidth, 100.ipx)
+        )
+        val footerPadding = 50.ipx
+        val footerPlaceable = measurables[footer].first().measure(
+            Constraints.tightConstraints(constraints.maxWidth - footerPadding * 2, 100.ipx)
+        )
+        val itemHeight =
+            (constraints.maxHeight - headerPlaceable.height - footerPlaceable.height) /
+                    measurables[content].size
+        val contentPlaceables = measurables[content].map { measurable ->
+            measurable.measure(Constraints.tightConstraints(constraints.maxWidth, itemHeight))
+        }
 
-            layout(constraints.maxWidth, constraints.maxHeight) {
-                headerPlaceable.place(0.ipx, 0.ipx)
-                footerPlaceable.place(footerPadding, constraints.maxHeight - footerPlaceable.height)
-                var top = headerPlaceable.height
-                contentPlaceables.forEach { placeable ->
-                    placeable.place(0.ipx, top)
-                    top += itemHeight
-                }
+        layout(constraints.maxWidth, constraints.maxHeight) {
+            headerPlaceable.place(0.ipx, 0.ipx)
+            footerPlaceable.place(footerPadding, constraints.maxHeight - footerPlaceable.height)
+            var top = headerPlaceable.height
+            contentPlaceables.forEach { placeable ->
+                placeable.place(0.ipx, top)
+                top += itemHeight
             }
-        })
+        }
+    }
 }
 
 @Composable
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt
index 6146504..93e3407 100644
--- a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt
+++ b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt
@@ -118,7 +118,7 @@
             Draw { canvas, _ ->
                 canvas.restore()
             }
-        }, layoutBlock = { measurables, constraints ->
+        }, measureBlock = { measurables, constraints ->
             val placeable =
                 measurables.first()
                     .measure(constraints.copy(minHeight = 0.ipx, maxHeight = IntPx.Infinity))
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/SimpleComposables.kt b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/SimpleComposables.kt
index f1bfbd2..4cc8df7 100644
--- a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/SimpleComposables.kt
+++ b/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/SimpleComposables.kt
@@ -129,7 +129,7 @@
                 )
             }
         },
-        layoutBlock = { measurables, constraints ->
+        measureBlock = { measurables, constraints ->
             val placeable =
                 if (measurables.isNotEmpty()) measurables.first().measure(constraints) else null
             val layoutWidth = placeable?.width ?: constraints.maxWidth
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
index c8866dc..48461f4 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
+++ b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
@@ -24,7 +24,6 @@
 import android.view.ViewGroup
 import android.view.ViewTreeObserver
 import androidx.annotation.RequiresApi
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.Compose
 import androidx.compose.Model
@@ -289,7 +288,7 @@
                     Padding(size = model.size) {
                         FillColor(model.innerColor)
                     }
-                }, layoutBlock = { measurables, constraints ->
+                }, measureBlock = { measurables, constraints ->
                     val placeables = measurables.map { it.measure(constraints) }
                     layout(placeables[0].width, placeables[0].height) {
                         placeables[0].place(0.ipx, 0.ipx)
@@ -366,11 +365,11 @@
                     Padding(size = size) {
                         WithConstraints { constraints ->
                             paddedConstraints.value = constraints
-                            Layout(layoutBlock = { _, childConstraints ->
+                            Layout(measureBlock = { _, childConstraints ->
                                 firstChildConstraints.value = childConstraints
                                 layout(size, size) { }
                             }, children = { })
-                            Layout(layoutBlock = { _, chilConstraints ->
+                            Layout(measureBlock = { _, chilConstraints ->
                                 secondChildConstraints.value = chilConstraints
                                 layout(size, size) { }
                             }, children = { })
@@ -424,23 +423,23 @@
         activityTestRule.runOnUiThreadIR {
             activity.setContent {
                 val header = @Composable {
-                    Layout(layoutBlock = { _, constraints ->
+                    Layout(measureBlock = { _, constraints ->
                         assertEquals(childConstraints[0], constraints)
                         layout(0.ipx, 0.ipx) {}
                     }, children = {})
                 }
                 val footer = @Composable {
-                    Layout(layoutBlock = { _, constraints ->
+                    Layout(measureBlock = { _, constraints ->
                         assertEquals(childConstraints[1], constraints)
                         layout(0.ipx, 0.ipx) {}
                     }, children = {})
-                    Layout(layoutBlock = { _, constraints ->
+                    Layout(measureBlock = { _, constraints ->
                         assertEquals(childConstraints[2], constraints)
                         layout(0.ipx, 0.ipx) {}
                     }, children = {})
                 }
                 @Suppress("USELESS_CAST")
-                Layout(childrenArray = arrayOf(header, footer)) { measurables, _ ->
+                Layout(header, footer) { measurables, _ ->
                     assertEquals(childrenCount, measurables.size)
                     measurables.forEachIndexed { index, measurable ->
                         measurable.measure(childConstraints[index])
@@ -462,16 +461,16 @@
             activity.setContent {
                 val header = @Composable {
                     ParentData(data = 0) {
-                        Layout(layoutBlock = { _, _ -> layout(0.ipx, 0.ipx, {}) }, children = {})
+                        Layout(measureBlock = { _, _ -> layout(0.ipx, 0.ipx, {}) }, children = {})
                     }
                 }
                 val footer = @Composable {
                     ParentData(data = 1) {
-                        Layout(layoutBlock = { _, _ -> layout(0.ipx, 0.ipx, {}) }, children = {})
+                        Layout(measureBlock = { _, _ -> layout(0.ipx, 0.ipx, {}) }, children = {})
                     }
                 }
 
-                Layout(childrenArray = arrayOf(header, footer)) { measurables, _ ->
+                Layout(header, footer) { measurables, _ ->
                     assertEquals(0, measurables[0].parentData)
                     assertEquals(1, measurables[1].parentData)
                     layout(0.ipx, 0.ipx, {})
@@ -522,7 +521,7 @@
                             canvas.drawRect(parentSize.toRect(), paint)
                         }
                     }
-                }, layoutBlock = { measurables, constraints ->
+                }, measureBlock = { measurables, constraints ->
                     measureCalls++
                     layout(30.ipx, 30.ipx) {
                         layoutCalls++
@@ -560,7 +559,7 @@
             height: IntPx,
             children: @Composable() () -> Unit
         ) {
-            Layout(children = children, layoutBlock = { measurables, constraints ->
+            Layout(children = children, measureBlock = { measurables, constraints ->
                 val resolvedWidth = width.coerceIn(constraints.minWidth, constraints.maxWidth)
                 val resolvedHeight = height.coerceIn(constraints.minHeight, constraints.maxHeight)
                 layout(resolvedWidth, resolvedHeight) {
@@ -596,7 +595,7 @@
                     drawn.value = true
                     latch.countDown()
                 }
-            }, layoutBlock = { _, constraints ->
+            }, measureBlock = { _, constraints ->
                 measured.value = true
                 val resolvedWidth = width.coerceIn(constraints.minWidth, constraints.maxWidth)
                 val resolvedHeight = constraints.minHeight
@@ -943,7 +942,7 @@
 @Composable
 fun AtLeastSize(size: IntPx, children: @Composable() () -> Unit) {
     Layout(
-        layoutBlock = { measurables, constraints ->
+        measureBlock = { measurables, constraints ->
             val newConstraints = Constraints(
                 minWidth = max(size, constraints.minWidth),
                 maxWidth = max(size, constraints.maxWidth),
@@ -971,7 +970,7 @@
 @Composable
 fun Align(children: @Composable() () -> Unit) {
     Layout(
-        layoutBlock = { measurables, constraints ->
+        measureBlock = { measurables, constraints ->
             val newConstraints = Constraints(
                 minWidth = IntPx.Zero,
                 maxWidth = constraints.maxWidth,
@@ -999,7 +998,7 @@
 @Composable
 fun Padding(size: IntPx, children: @Composable() () -> Unit) {
     Layout(
-        layoutBlock = { measurables, constraints ->
+        measureBlock = { measurables, constraints ->
             val totalDiff = size * 2
             val newConstraints = Constraints(
                 minWidth = (constraints.minWidth - totalDiff).coerceAtLeast(0.ipx),
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ParentDataTest.kt b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ParentDataTest.kt
index c8de633..196df60 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ParentDataTest.kt
+++ b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ParentDataTest.kt
@@ -65,7 +65,7 @@
             activity.setContent {
                 Layout(children = {
                     SimpleDrawChild(drawLatch = drawLatch)
-                }, layoutBlock = { measurables, constraints ->
+                }, measureBlock = { measurables, constraints ->
                     assertEquals(1, measurables.size)
                     parentData.value = measurables[0].parentData
 
@@ -90,7 +90,7 @@
                     ParentData(data = "Hello") {
                         SimpleDrawChild(drawLatch = drawLatch)
                     }
-                }, layoutBlock = { measurables, constraints ->
+                }, measureBlock = { measurables, constraints ->
                     assertEquals(1, measurables.size)
                     parentData.value = measurables[0].parentData
 
@@ -115,7 +115,7 @@
                 ParentData(data = "Hello") {
                     Layout(children = {
                         SimpleDrawChild(drawLatch = drawLatch)
-                    }, layoutBlock = { measurables, constraints ->
+                    }, measureBlock = { measurables, constraints ->
                         assertEquals(1, measurables.size)
                         parentData.value = measurables[0].parentData
 
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/TextLayoutTest.kt b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/TextLayoutTest.kt
index ccfa929..8e5c1d9 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/TextLayoutTest.kt
+++ b/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/TextLayoutTest.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.core.test
 
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.test.filters.SmallTest
@@ -130,7 +129,7 @@
                 Text("aaaa", style = TextStyle(fontFamily = fontFamily))
             }
             ComplexLayout(text) {
-                layout { measurables, _ ->
+                measure { measurables, _ ->
                     val textMeasurable = measurables.first()
 
                     // Min width.
@@ -154,7 +153,7 @@
 
                     intrinsicsLatch.countDown()
 
-                    layoutResult(0.ipx, 0.ipx) {}
+                    layout(0.ipx, 0.ipx) {}
                 }
                 minIntrinsicWidth { _, _ -> 0.ipx }
                 minIntrinsicHeight { _, _ -> 0.ipx }
@@ -184,4 +183,4 @@
         }
         activityTestRule.runOnUiThread(runnable)
     }
-}
\ No newline at end of file
+}
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt b/ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt
index 4875fe2..b1f1b1c 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.core
 
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.Compose
 import androidx.compose.ambient
@@ -217,7 +216,7 @@
  * Receiver scope for the [ComplexLayout] lambda.
  */
 class ComplexLayoutReceiver internal constructor(internal val layoutState: ComplexLayoutState) {
-    fun layout(layoutBlock: ComplexLayoutBlock) {
+    fun measure(layoutBlock: ComplexLayoutBlock) {
         layoutState.layoutBlock = layoutBlock
     }
     fun minIntrinsicWidth(minIntrinsicWidthBlock: IntrinsicMeasurementBlock) {
@@ -325,13 +324,13 @@
         this as ComplexLayoutState
         return this.measure(constraints)
     }
-    fun layoutResult(
+    fun layout(
         width: IntPx,
         height: IntPx,
-        block: PositioningBlockReceiver.() -> Unit
+        positioningBlock: PositioningBlockReceiver.() -> Unit
     ): LayoutResult {
         layoutState.resize(width, height)
-        layoutState.positioningBlock = block
+        layoutState.positioningBlock = positioningBlock
         return LayoutResult.instance
     }
     fun Measurable.minIntrinsicWidth(h: IntPx) =
@@ -359,7 +358,7 @@
 @Composable
 fun Layout(
     children: @Composable() () -> Unit,
-    layoutBlock: LayoutBlock
+    measureBlock: LayoutBlock
 ) {
     trace("UI:Layout") {
         ComplexLayout(children = children, block = {
@@ -368,10 +367,10 @@
                 LayoutMeasure, /* measure lambda */
                 { _, _, _ -> }
             )
-            layout { measurables, constraints ->
+            measure { measurables, constraints ->
                 layoutReceiver.complexMeasure = LayoutMeasure
-                layoutReceiver.complexLayoutResult = { w, h, block -> layoutResult(w, h, block) }
-                layoutReceiver.layoutBlock(measurables, constraints)
+                layoutReceiver.complexLayoutResult = { w, h, block -> layout(w, h, block) }
+                layoutReceiver.measureBlock(measurables, constraints)
             }
 
             minIntrinsicWidth { measurables, h ->
@@ -382,7 +381,7 @@
                 }
                 layoutReceiver.complexLayoutResult = { width, _, _ -> intrinsicWidth = width }
                 val constraints = Constraints(maxHeight = h)
-                layoutReceiver.layoutBlock(measurables, constraints)
+                layoutReceiver.measureBlock(measurables, constraints)
                 intrinsicWidth
             }
 
@@ -394,7 +393,7 @@
                 }
                 layoutReceiver.complexLayoutResult = { width, _, _ -> intrinsicWidth = width }
                 val constraints = Constraints(maxHeight = h)
-                layoutReceiver.layoutBlock(measurables, constraints)
+                layoutReceiver.measureBlock(measurables, constraints)
                 intrinsicWidth
             }
 
@@ -406,7 +405,7 @@
                 }
                 layoutReceiver.complexLayoutResult = { _, height, _ -> intrinsicHeight = height }
                 val constraints = Constraints(maxWidth = w)
-                layoutReceiver.layoutBlock(measurables, constraints)
+                layoutReceiver.measureBlock(measurables, constraints)
                 intrinsicHeight
             }
 
@@ -418,7 +417,7 @@
                 }
                 layoutReceiver.complexLayoutResult = { _, height, _ -> intrinsicHeight = height }
                 val constraints = Constraints(maxWidth = w)
-                layoutReceiver.layoutBlock(measurables, constraints)
+                layoutReceiver.measureBlock(measurables, constraints)
                 intrinsicHeight
             }
         })
@@ -450,12 +449,12 @@
  */
 @Composable
 fun Layout(
-    childrenArray: Array<@Composable() () -> Unit>,
-    layoutBlock: LayoutBlock
+    vararg childrenArray: @Composable() () -> Unit,
+    measureBlock: LayoutBlock
 ) {
     val ChildrenEndMarker = @Composable { children: @Composable() () -> Unit ->
         ParentData(data = ChildrenEndParentData(children)) {
-            Layout(layoutBlock={_, _ -> layout(0.ipx, 0.ipx){}}, children = {})
+            Layout(measureBlock={_, _ -> layout(0.ipx, 0.ipx){}}, children = {})
         }
     }
     val children = @Composable {
@@ -466,7 +465,7 @@
         }
     }
 
-    Layout(layoutBlock = layoutBlock, children = children)
+    Layout(measureBlock = measureBlock, children = children)
 }
 
 /**
@@ -503,9 +502,9 @@
     fun layout(
         width: IntPx,
         height: IntPx,
-        block: PositioningBlockReceiver.() -> Unit
+        positioningBlock: PositioningBlockReceiver.() -> Unit
     ): LayoutResult {
-        complexLayoutResult(width, height, block)
+        complexLayoutResult(width, height, positioningBlock)
         return LayoutResult.instance
     }
 }
@@ -538,33 +537,31 @@
     val ref = +compositionReference()
     val context = +ambient(ContextAmbient)
 
-    Layout(
-        layoutBlock = { _, constraints ->
-            val root = layoutState.layoutNode
-            // Start subcomposition from the current node.
-            Compose.composeInto(
-                root,
-                context,
-                ref
-            ) {
-                children(p1 = constraints)
-            }
+    Layout(children = {}) { _, constraints ->
+        val root = layoutState.layoutNode
+        // Start subcomposition from the current node.
+        Compose.composeInto(
+            root,
+            context,
+            ref
+        ) {
+            children(p1 = constraints)
+        }
 
-            // Measure the obtained children and compute our size.
-            val measurables = layoutState.childrenMeasurables
-            val placeables = measurables.map { it.measure(constraints) }
-            val layoutSize = constraints.constrain(IntPxSize(
-                placeables.map { it.width }.maxBy { it.value } ?: IntPx.Zero,
-                placeables.map { it.height }.maxBy { it.value } ?: IntPx.Zero
-            ))
+        // Measure the obtained children and compute our size.
+        val measurables = layoutState.childrenMeasurables
+        val placeables = measurables.map { it.measure(constraints) }
+        val layoutSize = constraints.constrain(IntPxSize(
+            placeables.map { it.width }.maxBy { it.value } ?: IntPx.Zero,
+            placeables.map { it.height }.maxBy { it.value } ?: IntPx.Zero
+        ))
 
-            layout(layoutSize.width, layoutSize.height) {
-                placeables.forEach { placeable ->
-                    placeable.place(IntPx.Zero, IntPx.Zero)
-                }
+        layout(layoutSize.width, layoutSize.height) {
+            placeables.forEach { placeable ->
+                placeable.place(IntPx.Zero, IntPx.Zero)
             }
-        },
-        children={})
+        }
+    }
 }
 
 private val OnPositionedKey = DataNodeKey<(LayoutCoordinates) -> Unit>("Compose:OnPositioned")
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Text.kt b/ui/ui-framework/src/main/java/androidx/ui/core/Text.kt
index 19f63ae..4ce2cf1 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/Text.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/core/Text.kt
@@ -240,9 +240,9 @@
             }
         }
         ComplexLayout(children) {
-            layout { _, constraints ->
+            measure { _, constraints ->
                 textPainter.layout(constraints)
-                layoutResult(textPainter.width.px.round(), textPainter.height.px.round()) {}
+                layout(textPainter.width.px.round(), textPainter.height.px.round()) {}
             }
             minIntrinsicWidth { _, _ ->
                 // TODO(popam): discuss with the Text team about this
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/TextField.kt b/ui/ui-framework/src/main/java/androidx/ui/core/TextField.kt
index 4871240..9d2dd4e 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/TextField.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/core/TextField.kt
@@ -16,7 +16,6 @@
 package androidx.ui.core
 
 import androidx.compose.composer
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.ambient
 import androidx.compose.memo
@@ -210,7 +209,7 @@
                     hasFocus.value,
                     editorStyle) }
             },
-            layoutBlock = { _, constraints ->
+            measureBlock = { _, constraints ->
                 TextFieldDelegate.layout(textPainter, constraints).let {
                     layout(it.first, it.second) {}
                 }
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionContainer.kt b/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionContainer.kt
index c5f5e95..a4e2b97 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionContainer.kt
+++ b/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionContainer.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.core.selection
 
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.compose.memo
@@ -65,41 +64,35 @@
                     children()
                 }
             }
-            Layout(children = content, layoutBlock = { measurables, constraints ->
+            Layout(content) { measurables, constraints ->
                 val placeable = measurables.firstOrNull()?.measure(constraints)
                 val width = placeable?.width ?: constraints.minWidth
                 val height = placeable?.height ?: constraints.minHeight
                 layout(width, height) {
                     placeable?.place(0.ipx, 0.ipx)
                 }
-            })
+            }
         }
         val startHandle = @Composable {
             TouchSlopDragGestureDetector(
                 dragObserver = manager.handleDragObserver(dragStartHandle = true)
             ) {
-                Layout(
-                    children = { LeftPointingSelectionHandle() },
-                    layoutBlock = { _, constraints ->
-                        layout(constraints.minWidth, constraints.minHeight) {}
-                    })
+                Layout(children = { LeftPointingSelectionHandle() }) { _, constraints ->
+                    layout(constraints.minWidth, constraints.minHeight) {}
+                }
             }
         }
         val endHandle = @Composable {
             TouchSlopDragGestureDetector(
                 dragObserver = manager.handleDragObserver(dragStartHandle = false)
             ) {
-                Layout(
-                    children = { RightPointingSelectionHandle() },
-                    layoutBlock = { _, constraints ->
-                        layout(constraints.minWidth, constraints.minHeight) {}
-                    })
+                Layout(children = { RightPointingSelectionHandle() }) { _, constraints ->
+                    layout(constraints.minWidth, constraints.minHeight) {}
+                }
             }
         }
         @Suppress("USELESS_CAST")
-        (Layout(
-        childrenArray = arrayOf(content, startHandle, endHandle),
-        layoutBlock = { measurables, constraints ->
+        Layout(content, startHandle, endHandle) { measurables, constraints ->
             val placeable = measurables[0].measure(constraints)
             val width = placeable.width
             val height = placeable.height
@@ -135,6 +128,6 @@
                     end.place(endOffset.x, endOffset.y)
                 }
             }
-        }))
+        }
     }
 }
diff --git a/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/ComplexLayoutDemos.kt b/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/ComplexLayoutDemos.kt
index 1a11ec8..3e957be 100644
--- a/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/ComplexLayoutDemos.kt
+++ b/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/ComplexLayoutDemos.kt
@@ -42,7 +42,6 @@
 import androidx.ui.layout.Stack
 import androidx.ui.graphics.Color
 import androidx.ui.painting.Paint
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.Model
 import androidx.compose.composer
@@ -60,8 +59,8 @@
  */
 @Composable
 fun IntrinsicWidth(children: @Composable() () -> Unit) {
-    ComplexLayout(children = children, block = {
-        layout { measurables, constraints ->
+    ComplexLayout(children) {
+        measure { measurables, constraints ->
             // Force child be as wide as its min intrinsic width.
             val width = measurables.first().minIntrinsicWidth(constraints.minHeight)
             val childConstraints = Constraints(
@@ -71,7 +70,7 @@
                 constraints.maxHeight
             )
             val childPlaceable = measurables.first().measure(childConstraints)
-            layoutResult(childPlaceable.width, childPlaceable.height) {
+            layout(childPlaceable.width, childPlaceable.height) {
                 childPlaceable.place(IntPx.Zero, IntPx.Zero)
             }
         }
@@ -87,7 +86,7 @@
         maxIntrinsicHeight { measurables, w ->
             measurables.first().maxIntrinsicHeight(w)
         }
-    })
+    }
 }
 
 /**
@@ -96,8 +95,8 @@
 @Composable
 fun RectangleWithIntrinsics(color: Color) {
     ComplexLayout(children = { DrawRectangle(color = color) }, block = {
-        layout { _, _ ->
-            layoutResult(80.ipx, 80.ipx) {}
+        measure { _, _ ->
+            layout(80.ipx, 80.ipx) {}
         }
         minIntrinsicWidth { _, _ -> 30.ipx }
         maxIntrinsicWidth { _, _ -> 150.ipx }
@@ -228,7 +227,7 @@
 
 @Composable
 fun SingleCompositionRow(children: @Composable() () -> Unit) {
-    Layout(layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         val placeables = measurables.map {
             it.measure(constraints.copy(minWidth = 0.ipx, maxWidth = IntPx.Infinity))
         }
@@ -242,12 +241,12 @@
                 left += placeable.width
             }
         }
-    }, children = children)
+    }
 }
 
 @Composable
 fun SingleCompositionColumn(children: @Composable() () -> Unit) {
-    Layout(layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         val placeables = measurables.map {
             it.measure(constraints.copy(minHeight = 0.ipx, maxHeight = IntPx.Infinity))
         }
@@ -261,7 +260,7 @@
                 top += placeable.height
             }
         }
-    }, children = children)
+    }
 }
 
 @Composable
@@ -272,13 +271,10 @@
             canvas.drawRect(parentSize.toRect(), paint)
         }
     }
-    Layout(
-        layoutBlock = { _, constraints ->
-            val size = constraints.constrain(IntPxSize(30.ipx, 30.ipx))
-            layout(size.width, size.height) { }
-        },
-        children = Rectangle
-    )
+    Layout(Rectangle) { _, constraints ->
+        val size = constraints.constrain(IntPxSize(30.ipx, 30.ipx))
+        layout(size.width, size.height) { }
+    }
 }
 
 @Model
@@ -295,8 +291,8 @@
         }
     }
     ComplexLayout(children = Rectangle, block = {
-        layout { _, _ ->
-            layoutResult(50.ipx, 50.ipx) {}
+        measure { _, _ ->
+            layout(50.ipx, 50.ipx) {}
         }
         minIntrinsicWidth { _, _ -> 50.ipx }
         maxIntrinsicWidth { _, _ -> 50.ipx }
@@ -308,7 +304,7 @@
 @Composable
 fun SingleCompositionRowWithIntrinsics(children: @Composable() () -> Unit) {
     ComplexLayout(children = children, block = {
-        layout { measurables, constraints ->
+        measure { measurables, constraints ->
             val placeables = measurables.map { measurable ->
                 val childWidth = measurable.maxIntrinsicWidth(constraints.maxHeight)
                 measurable.measure(
@@ -320,7 +316,7 @@
             val width = placeables.map { it.width }.sum()
             val height = placeables.map { it.height }.max()
 
-            layoutResult(width, height) {
+            layout(width, height) {
                 var left = 0.ipx
                 placeables.forEach { placeable ->
                     placeable.place(left, 0.ipx)
diff --git a/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/StackSamples.kt b/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/StackSamples.kt
index e816b27..23346d3 100644
--- a/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/StackSamples.kt
+++ b/ui/ui-layout/integration-tests/samples/src/main/java/androidx/ui/layout/samples/StackSamples.kt
@@ -35,13 +35,11 @@
  */
 @Composable
 fun SizedRectangle(color: Color, width: Dp? = null, height: Dp? = null) {
-    Layout(
-        children = { DrawRectangle(color = color) },
-        layoutBlock = { _, constraints ->
-            val widthPx = width?.toIntPx() ?: constraints.maxWidth
-            val heightPx = height?.toIntPx() ?: constraints.maxHeight
-            layout(widthPx, heightPx) {}
-        })
+    Layout(children = { DrawRectangle(color = color) }) { _, constraints ->
+        val widthPx = width?.toIntPx() ?: constraints.maxWidth
+        val heightPx = height?.toIntPx() ?: constraints.maxHeight
+        layout(widthPx, heightPx) {}
+    }
 }
 
 @Composable
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignTest.kt
index d4cab2b..64fd740 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignTest.kt
@@ -113,7 +113,7 @@
                         }
                     }
                 },
-                layoutBlock = { measurables, constraints ->
+                measureBlock = { measurables, constraints ->
                     val placeable = measurables.first().measure(Constraints())
                     layout(constraints.maxWidth, constraints.maxHeight) {
                         placeable.place(0.ipx, 0.ipx)
@@ -236,7 +236,7 @@
                             }
                         }
                     }
-                }, layoutBlock = { measurables, constraints ->
+                }, measureBlock = { measurables, constraints ->
                     val placeable = measurables.first().measure(Constraints())
                     layout(constraints.maxWidth, constraints.maxHeight) {
                         placeable.place(0.ipx, 0.ipx)
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/ContainerTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/ContainerTest.kt
index 8a68a98..6ffd748 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/ContainerTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/ContainerTest.kt
@@ -352,11 +352,11 @@
 
     @Composable
     fun EmptyBox(width: Dp, height: Dp) {
-        Layout(layoutBlock = { _, constraints ->
+        Layout(children = { }) { _, constraints ->
             layout(
                 width.toIntPx().coerceIn(constraints.minWidth, constraints.maxWidth),
                 height.toIntPx().coerceIn(constraints.minHeight, constraints.maxHeight)
             ) {}
-        }, children = { })
+        }
     }
 }
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/IntrinsicTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/IntrinsicTest.kt
index 556d6b4..6c62f1e 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/IntrinsicTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/IntrinsicTest.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.layout.test
 
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.test.filters.SmallTest
@@ -499,12 +498,13 @@
     width: Dp,
     maxIntrinsicWidth: Dp,
     minIntrinsicHeight: Dp,
-    height: Dp, maxIntrinsicHeight: Dp,
+    height: Dp,
+    maxIntrinsicHeight: Dp,
     children: @Composable() () -> Unit
 ) {
     ComplexLayout(children) {
-        layout { _, constraints ->
-            layoutResult(
+        measure { _, constraints ->
+            layout(
                 width.toIntPx().coerceIn(constraints.minWidth, constraints.maxWidth),
                 height.toIntPx().coerceIn(constraints.minHeight, constraints.maxHeight)
             ) { }
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
index d8c6eb1..6b940fb 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutTest.kt
@@ -29,7 +29,6 @@
 import androidx.ui.core.PxSize
 import androidx.ui.core.Ref
 import androidx.ui.core.px
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.core.ComplexLayout
@@ -140,7 +139,7 @@
             val layoutLatch = CountDownLatch(1)
             show {
                 ComplexLayout(layout) {
-                    layout { measurables, _ ->
+                    measure { measurables, _ ->
                         val measurable = measurables.first()
                         test(
                             { h -> measurable.minIntrinsicWidth(h) },
@@ -149,7 +148,7 @@
                             { w -> measurable.maxIntrinsicHeight(w) }
                         )
                         layoutLatch.countDown()
-                        layoutResult(0.ipx, 0.ipx) {}
+                        layout(0.ipx, 0.ipx) {}
                     }
                     minIntrinsicWidth { _, _ -> 0.ipx }
                     maxIntrinsicWidth { _, _ -> 0.ipx }
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Align.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Align.kt
index 888706f..3eca354 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Align.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Align.kt
@@ -21,7 +21,6 @@
 import androidx.ui.core.Layout
 import androidx.ui.core.isFinite
 import androidx.ui.core.looseMin
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.core.round
@@ -70,7 +69,7 @@
  */
 @Composable
 fun Align(alignment: Alignment, children: @Composable() () -> Unit) {
-    Layout(layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         val measurable = measurables.firstOrNull()
         // The child cannot be larger than our max constraints, but we ignore min constraints.
         val placeable = measurable?.measure(constraints.looseMin())
@@ -96,7 +95,7 @@
                 placeable.place(position.x, position.y)
             }
         }
-    }, children = children)
+    }
 }
 
 /**
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/ConstrainedBox.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/ConstrainedBox.kt
index 7ad2633..ed2d6f1 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/ConstrainedBox.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/ConstrainedBox.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.layout
 
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.core.Constraints
@@ -41,14 +40,14 @@
     children: @Composable() () -> Unit
 ) {
     ComplexLayout(children) {
-        layout { measurables, incomingConstraints ->
+        measure { measurables, incomingConstraints ->
             val measurable = measurables.firstOrNull()
             val childConstraints = Constraints(constraints).enforce(incomingConstraints)
             val placeable = measurable?.measure(childConstraints)
 
             val layoutWidth = placeable?.width ?: childConstraints.minWidth
             val layoutHeight = placeable?.height ?: childConstraints.minHeight
-            layoutResult(layoutWidth, layoutHeight) {
+            layout(layoutWidth, layoutHeight) {
                 placeable?.place(IntPx.Zero, IntPx.Zero)
             }
         }
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Container.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Container.kt
index dc48a4b..8123f2c 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Container.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Container.kt
@@ -28,7 +28,6 @@
 import androidx.ui.core.max
 import androidx.ui.core.offset
 import androidx.ui.core.withTight
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.compose.trace
@@ -64,7 +63,7 @@
     children: @Composable() () -> Unit
 ) {
     trace("UI:Container") {
-        Layout(children = children, layoutBlock = { measurables, incomingConstraints ->
+        Layout(children) { measurables, incomingConstraints ->
             val containerConstraints = Constraints(constraints)
                 .withTight(width?.toIntPx(), height?.toIntPx())
                 .enforce(incomingConstraints)
@@ -98,6 +97,6 @@
                     )
                 }
             }
-        })
+        }
     }
 }
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Flex.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Flex.kt
index 2693e86..9321ebe 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Flex.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Flex.kt
@@ -17,7 +17,6 @@
 package androidx.ui.layout
 
 import androidx.annotation.FloatRange
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.core.Constraints
@@ -489,7 +488,7 @@
         composable
     }
     ComplexLayout(flexChildren) {
-        layout { children, outerConstraints ->
+        measure { children, outerConstraints ->
             val constraints = OrientationIndependentConstraints(outerConstraints, orientation)
 
             var totalFlex = 0f
@@ -585,7 +584,7 @@
             } else {
                 mainAxisLayoutSize
             }
-            layoutResult(layoutWidth, layoutHeight) {
+            layout(layoutWidth, layoutHeight) {
                 val childrenMainAxisSize = placeables.map { it!!.mainAxisSize() }
                 val mainAxisPositions = mainAxisAlignment.aligner
                     .align(mainAxisLayoutSize, childrenMainAxisSize)
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Intrinsic.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Intrinsic.kt
index 3bd2915..a9d3480 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Intrinsic.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Intrinsic.kt
@@ -16,7 +16,6 @@
 
 package androidx.ui.layout
 
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.core.ComplexLayout
@@ -44,13 +43,13 @@
 @Composable
 fun MinIntrinsicWidth(children: @Composable() () -> Unit) {
     ComplexLayout(children) {
-        layout { measurables, constraints ->
+        measure { measurables, constraints ->
             val measurable = measurables.firstOrNull()
             val width = measurable?.minIntrinsicWidth(constraints.maxHeight) ?: 0.ipx
             val placeable = measurable?.measure(
                 Constraints.tightConstraintsForWidth(width).enforce(constraints)
             )
-            layoutResult(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
+            layout(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
                 placeable?.place(0.ipx, 0.ipx)
             }
         }
@@ -89,13 +88,13 @@
 @Composable
 fun MinIntrinsicHeight(children: @Composable() () -> Unit) {
     ComplexLayout(children) {
-        layout { measurables, constraints ->
+        measure { measurables, constraints ->
             val measurable = measurables.firstOrNull()
             val height = measurable?.minIntrinsicHeight(constraints.maxWidth) ?: 0.ipx
             val placeable = measurable?.measure(
                 Constraints.tightConstraintsForHeight(height).enforce(constraints)
             )
-            layoutResult(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
+            layout(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
                 placeable?.place(0.ipx, 0.ipx)
             }
         }
@@ -134,13 +133,13 @@
 @Composable
 fun MaxIntrinsicWidth(children: @Composable() () -> Unit) {
     ComplexLayout(children) {
-        layout { measurables, constraints ->
+        measure { measurables, constraints ->
             val measurable = measurables.firstOrNull()
             val width = measurable?.maxIntrinsicWidth(constraints.maxHeight) ?: 0.ipx
             val placeable = measurable?.measure(
                 Constraints.tightConstraintsForWidth(width).enforce(constraints)
             )
-            layoutResult(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
+            layout(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
                 placeable?.place(0.ipx, 0.ipx)
             }
         }
@@ -179,13 +178,13 @@
 @Composable
 fun MaxIntrinsicHeight(children: @Composable() () -> Unit) {
     ComplexLayout(children) {
-        layout { measurables, constraints ->
+        measure { measurables, constraints ->
             val measurable = measurables.firstOrNull()
             val height = measurable?.maxIntrinsicHeight(constraints.maxWidth) ?: 0.ipx
             val placeable = measurable?.measure(
                 Constraints.tightConstraintsForHeight(height).enforce(constraints)
             )
-            layoutResult(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
+            layout(placeable?.width ?: 0.ipx, placeable?.height ?: 0.ipx) {
                 placeable?.place(0.ipx, 0.ipx)
             }
         }
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt
index 79225a6..805608f 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Padding.kt
@@ -21,7 +21,6 @@
 import androidx.ui.core.dp
 import androidx.ui.core.min
 import androidx.ui.core.offset
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 
@@ -55,7 +54,7 @@
     padding: EdgeInsets,
     children: @Composable() () -> Unit
 ) {
-    Layout(layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         val measurable = measurables.firstOrNull()
         if (measurable == null) {
             layout(constraints.minWidth, constraints.minHeight) { }
@@ -78,7 +77,7 @@
                 placeable.place(paddingLeft, paddingTop)
             }
         }
-    }, children = children)
+    }
 }
 
 /**
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Stack.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Stack.kt
index f852203..ef1b449 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Stack.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Stack.kt
@@ -26,7 +26,6 @@
 import androidx.ui.core.Placeable
 import androidx.ui.core.looseMin
 import androidx.ui.core.max
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.ui.core.coerceAtLeast
@@ -112,7 +111,7 @@
         }
         composable
     }
-    Layout(children = children, layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         val placeables = arrayOfNulls<Placeable>(measurables.size)
         // First measure aligned children to get the size of the layout.
         (0 until measurables.size).filter { i -> !measurables[i].positioned }.forEach { i ->
@@ -205,7 +204,7 @@
                 }
             }
         }
-    })
+    }
 }
 
 /**
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Table.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Table.kt
index 36bc3b2..29eb921 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Table.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Table.kt
@@ -17,7 +17,6 @@
 package androidx.ui.layout
 
 import androidx.annotation.FloatRange
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 import androidx.compose.state
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/Wrap.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/Wrap.kt
index 3846114..51580b3 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/Wrap.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/Wrap.kt
@@ -21,7 +21,6 @@
 import androidx.ui.core.ipx
 import androidx.ui.core.looseMin
 import androidx.ui.core.max
-import androidx.compose.Children
 import androidx.compose.Composable
 import androidx.compose.composer
 
@@ -36,7 +35,7 @@
  */
 @Composable
 fun Wrap(alignment: Alignment = Alignment.TopLeft, children: @Composable() () -> Unit) {
-    Layout(layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         val measurable = measurables.firstOrNull()
         // The child cannot be larger than our max constraints, but we ignore min constraints.
         val placeable = measurable?.measure(constraints.looseMin())
@@ -53,5 +52,5 @@
                 placeable.place(position.x, position.y)
             }
         }
-    }, children=children)
+    }
 }
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt b/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
index 547149d8..7e5e527 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
@@ -298,7 +298,7 @@
         RepaintBoundary {
             child()
         }
-    }, layoutBlock = { measurables, constraints ->
+    }) { measurables, constraints ->
         if (measurables.size > 1) {
             throw IllegalStateException("Only one child is allowed")
         }
@@ -316,7 +316,7 @@
         layout(width, height) {
             placeable?.place(xOffset.toIntPx(), yOffset.toIntPx())
         }
-    })
+    }
 }
 
 private val ScrimDefaultOpacity = 0.32f
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/surface/Surface.kt b/ui/ui-material/src/main/java/androidx/ui/material/surface/Surface.kt
index c63e825..ebb427e 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/surface/Surface.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/surface/Surface.kt
@@ -112,7 +112,7 @@
  */
 @Composable
 private fun SurfaceLayout(children: @Composable() () -> Unit) {
-    Layout(children = children, layoutBlock = { measurables, constraints ->
+    Layout(children) { measurables, constraints ->
         if (measurables.size > 1) {
             throw IllegalStateException("Surface can have only one direct measurable child!")
         }
@@ -125,5 +125,5 @@
                 placeable.place(0.ipx, 0.ipx)
             }
         }
-    })
+    }
 }
diff --git a/ui/ui-text/integration-tests/text-demos/src/main/java/androidx/ui/text/demos/CraneVariousInputField.kt b/ui/ui-text/integration-tests/text-demos/src/main/java/androidx/ui/text/demos/CraneVariousInputField.kt
index 47b3abb..9264729 100644
--- a/ui/ui-text/integration-tests/text-demos/src/main/java/androidx/ui/text/demos/CraneVariousInputField.kt
+++ b/ui/ui-text/integration-tests/text-demos/src/main/java/androidx/ui/text/demos/CraneVariousInputField.kt
@@ -272,16 +272,13 @@
     if (state.value.text.isNotEmpty()) {
         inputField()
     } else {
-        Layout(
-            childrenArray = arrayOf(inputField, hintText),
-            layoutBlock = { measurable, constraints ->
-                val inputfieldPlacable = measurable[inputField].first().measure(constraints)
-                val hintTextPlacable = measurable[hintText].first().measure(constraints)
-                layout(inputfieldPlacable.width, inputfieldPlacable.height) {
-                    inputfieldPlacable.place(0.ipx, 0.ipx)
-                    hintTextPlacable.place(0.ipx, 0.ipx)
-                }
+        Layout(inputField, hintText) { measurable, constraints ->
+            val inputfieldPlacable = measurable[inputField].first().measure(constraints)
+            val hintTextPlacable = measurable[hintText].first().measure(constraints)
+            layout(inputfieldPlacable.width, inputfieldPlacable.height) {
+                inputfieldPlacable.place(0.ipx, 0.ipx)
+                hintTextPlacable.place(0.ipx, 0.ipx)
             }
-        )
+        }
     }
 }
\ No newline at end of file