@jethrolarson Took me a little while to get the result using ap. The thing I was missing is to wrap each input list in an array. The problem I see here is that having two nested

`ap`

s prevents one from doing point-free solution like @kedashoe 's right?```
var input = [[1,2,3],[3,4,5]]
ap(ap([intersection, difference, flip(difference)], [input[0]]), [input[1]])
// [[3], [1, 2], [4, 5]]
```

@thurt you can use reduce: http://goo.gl/CrtwFZ

Wow interesting. Thank you i will look at this solution more closely tomorrow

Hi everyone!

hi

@kedashoe it looks like using

`useWith`

forces you to go thru a transformation step for each argument (even if that argument doesn't require a transformation). So you have to use `identity`

(which could be considered data indirection)
I mean data indirection as "distracting" and "not ideal"

@thurt also you can use

`converge`

`input is not defined`

@ram-bot

```
const input = [[1,2,3],[3,4,5]];
R.converge(R.unapply(R.identity), [intersection, difference, flip(difference)])(...input)
```

`[ [ 3 ], [ 1, 2 ], [ 4, 5 ] ]`

@ram-bot

```
const input = [[1,2,3], [3,4,5]];
R.apply(R.converge(R.unapply(R.identity), [R.intersection, R.difference, R.flip(difference)]))(input)
```

`[ [ 3 ], [ 1, 2 ], [ 4, 5 ] ]`

Nice! I think converge is a better semantic than reduce for this scenario

agreed :) was just playing around with a point free approach that works with

`ap`

@thurt

`converge`

use `ap`

- applicative https://github.com/xgrommx/from-combinators-to-fp/blob/master/src/index.js#L26
interesting that

`juxt`

is also very close to `converge`

`juxt`

is kind of a strange name. does it refer to scalar multiplication?
"Scalar multiplication

we can multiply a number (a.k.a. scalar) by a matrix by multiplying every

entry of the matrix by the scalar

this is denoted by juxtaposition or ·, with the scalar on the left..."

we can multiply a number (a.k.a. scalar) by a matrix by multiplying every

entry of the matrix by the scalar

this is denoted by juxtaposition or ·, with the scalar on the left..."