# About the Reactive Programming with Kotlin category

**URL:** <https://forums.kodeco.com/t/about-the-reactive-programming-with-kotlin-category/68887>\
**Category:** Reactive Programming with Kotlin\
**Created:** [April 28, 2019, 2:08am UTC](https://forums.kodeco.com/t/about-the-reactive-programming-with-kotlin-category/68887 "2019-04-28T02:08:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisrazeware](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/chrisrazeware/32/107900_2.png) [@chrisrazeware](https://forums.kodeco.com/u/chrisrazeware)\
**Post date:** [April 28, 2019, 2:08am UTC](https://forums.kodeco.com/t/about-the-reactive-programming-with-kotlin-category/68887/1 "2019-04-28T02:08:09Z")

</div>

This is the official forum for our book, Reactive Programming with Kotlin, available here: [https://store.raywenderlich.com/products/reactive-programming-with-kotlin](https://store.raywenderlich.com/products/reactive-programming-with-kotlin)

---

<div class="post-metadata">

**Author:** ![jipariz](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/jipariz/32/81494_2.png) [@jipariz](https://forums.kodeco.com/u/jipariz)\
**Post date:** [August 3, 2020, 11:00am UTC](https://forums.kodeco.com/t/about-the-reactive-programming-with-kotlin-category/68887/2 "2020-08-03T11:00:19Z")

</div>

Hi. When will be released the updated version of the book? Thanks

---

<div class="post-metadata">

**Author:** ![breakpoint](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/breakpoint/32/102075_2.png) [@breakpoint](https://forums.kodeco.com/u/breakpoint)\
**Post date:** [February 1, 2022, 6:29pm UTC](https://forums.kodeco.com/t/about-the-reactive-programming-with-kotlin-category/68887/3 "2022-02-01T18:29:51Z")

</div>

I have a question on the solution given for the challenge in chapter 9. The code given is

```
val observable = source.scan(0 to 0) { acc, current ->
  current to acc.second + current
}

```

The type of `source` is `Observable<Int>`.  
The type of the initial value passed to scan is `Pair<Int, Int>`.  
The type of `scan`’s first argument is `BiFunction<T, T, T>` (`T` being `Int` in this case)

So I’m surprised that this actually compiles, because the type of the initial value differs from the type of the observable’s items. Now that I’m asking, I realise the Pair is probably being implicitly destructured 🙂. Is that correct?
