In F# (and most of the functional languages) some codes are extremely short as follows: let f = getNames >> Observable.flatmap ObservableJson.jsonArrayToObservableObjects<string> or : let jsonArrayToObservableObjects<‘t> = JsonConvert.DeserializeObject<‘t[]> >> Observable.ToObservable And the simplest property-based test I ended up for the latter function is : testList “ObservableJson” [ testProperty “Should convert an Observable of `json` arrayRead more