`sequenceA == traverse id`

`sequence == mapM id`

Funny, I was just looking at the difference between

`foldable`

and `traversable`

yesterday
Point Free version for

`const fun = R.curry((value, x) => x(value))`

???
That's the Thrush combinator. I think it's in Sanctuary; http://sanctuary.js.org/#T

@Avaq thanks, but we are not using Sanctuary

is there any other way?

I don't think Ramda has it. You could define it somewhere in your own code-base:

`const T = curry((x, f) => f(x))`

Or

`const thrush = flip(call)`

maybe.
But I don't trust

`R.call`

.
Whoops, wrong channel that ^

I'd personally really like if Ramda had the various combinators. I keep finding myself using converge with identity and wishing I had the S combinator.

@JAForbes I've been documenting some common combinators and what they are called in different places (

`https://gist.github.com/Avaq/1f0636ec5c8d6aed2e45`

). It shows that in Ramda you can use `ap`

in place of the `S`

combinator (because Apply for Function is `S`

).
Wow! Let me just think about that for a month or two :)

It was brought to my attention recently by @rjmk and @xgrommx. My mind was blown too. Here's the discussion: https://gitter.im/ramda/ramda?at=5760102cc77287463a9754b3

Thank you so much, that is hugely helpful

Hi, I'm trying to use Ramda instead of Immutablejs. The functions I lack are mergeDeep (recursive merge), mergeIn (shallow merge on a specific 'path' within the object and updateIn (changing the specific path within the object by a given fn). Does Ramda support these somehow? I even saw the PR for implementing deepMerge (the author called it set), but I cannot found it in the current library anywhere (current set obviously does something else)

@tomaskulich I do not think it has mergeDeed, mergeIn sounds like assocpath

@6ewis assocPath is close to immutablejs setIn - it overrides the value at the given path. For example:

```
> R.assocPath(['a', 'b'], {d: 1}, {a: {b: {c: 1}}})
{ a: { b: { d: 1 } } }
```

while mergeIn should produce:

`{ a: { b: { c:1, d: 1 } } }`

as the result.

@6ewis also, thanks for the info about mergeDeep, I saw it in the PR so I thought its just there under different name.

@tomaskulich what about R.evolve

@Avaq what the problem?)) applicative functor for function is just a combinator

`S`