Repository: android/compose-samples
File: Jetcaster/wear/src/main/java/com/example/jetcaster/ui/library/PodcastsScreen.kt (Kotlin)

Code before:
    modifier: Modifier = Modifier,
    podcastItemArtworkPlaceholder: Painter? = null,
) {

    val podcastContent: @Composable (podcast: PodcastInfo) -> Unit = { podcast ->
        Chip(
            label = podcast.title,
            onClick = { onPodcastsItemClick(podcast) },
            icon = CoilPaintable(podcast.imageUrl, podcastItemArtworkPlaceholder),
            largeIcon = true,
            colors = ChipDefaults.secondaryChipColors(),
        )
    }

    PodcastsScreen(
        podcastsScreenState = podcastsScreenState,
        podcastContent = podcastContent,
        modifier = modifier,
    )
}

@ExperimentalHorologistApi
@Composable
fun <T> PodcastsScreen(
    podcastsScreenState: PodcastsScreenState<T>,
    podcastContent: @Composable (podcast: T) -> Unit,
    modifier: Modifier = Modifier,
) {
    val columnState = rememberColumnState()
    ScreenScaffold(scrollState = columnState) {
        SectionedList(
            modifier = modifier,
            columnState = columnState,
        ) {
            val sectionState = when (podcastsScreenState) {
                is PodcastsScreenState.Loaded<T> -> {
                    Section.State.Loaded(podcastsScreenState.podcastList)
                }

                PodcastsScreenState.Failed -> Section.State.Failed
                PodcastsScreenState.Loading -> Section.State.Loading
            }

            section(state = sectionState) {
                header {
                    Title(
                        R.string.podcasts,
                        Modifier.padding(bottom = 12.dp),
                    )
                }


Review comment (suggestion):
Consider naming this as `content` and make it the last argument this composable accepts so that you can use the trailing lambda syntax at the call site. Our guidance recommends this pattern: https://github.com/androidx/androidx/blob/androidx-main/compose/docs/compose-api-guidelines.md#compose-ui-layouts 

```suggestion
    content: @Composable (podcast: T) -> Unit,
```

Code after:
) {

    val podcastContent: @Composable (podcast: PodcastInfo) -> Unit = { podcast ->
        Chip(
            label = podcast.title,
            onClick = { onPodcastsItemClick(podcast) },
            icon = CoilPaintable(podcast.imageUrl, podcastItemArtworkPlaceholder),
            largeIcon = true,
            colors = ChipDefaults.secondaryChipColors(),
        )
    }

    PodcastsScreen(
        podcastsScreenState = podcastsScreenState,
        modifier = modifier,
        content = { podcast ->
            Chip(
                label = podcast.title,
                onClick = { onPodcastsItemClick(podcast) },
                icon = CoilPaintable(podcast.imageUrl, podcastItemArtworkPlaceholder),
                largeIcon = true,
                colors = ChipDefaults.secondaryChipColors(),
            )
        }
    )
}

@ExperimentalHorologistApi
@Composable
fun <T> PodcastsScreen(
    podcastsScreenState: PodcastsScreenState<T>,
    modifier: Modifier = Modifier,
    content: @Composable (podcast: T) -> Unit,
) {
    val columnState = rememberColumnState()
    ScreenScaffold(scrollState = columnState) {
        SectionedList(
            modifier = modifier,
            columnState = columnState,
        ) {
            val sectionState = when (podcastsScreenState) {
                is PodcastsScreenState.Loaded<T> -> {
                    Section.State.Loaded(podcastsScreenState.podcastList)
                }

                PodcastsScreenState.Empty -> Section.State.Failed
                PodcastsScreenState.Loading -> Section.State.Loading
            }

            section(state = sectionState) {
                header {