La compréhension de composer des fonctions dans redux

J'ai essayé de créer un magasin en redux pour laquelle je suis actuellement en utilisant la syntaxe suivante:-

const middlewares = [
  thunk,
  logger
]

const wlStore = createStore(
  rootReducer,
  initialState
  compose(applyMiddleware(...middlewares))
)

Ci-dessus fonctionne très bien pour moi et je peux accéder à la boutique, mais j'ai dernièrement, je suis tombé sur une autre syntaxe:-

const wlStore=applyMiddleware(thunk,logger)(createStore)(rootReducer)

Les deux semblent être en train de faire le même travail.

Est-il une raison à cause de laquelle je devrais préférer un plutôt qu'un autre? Avantages/Inconvénients?