createAggregate
🚀 Accelerate development
Here we are creating Redux boilerplate with createAggregate. 
Aggregate contains ActionTypes / ActionCreators / ReducerFactory.
The first argument is Mutations, a map of mutate functions.
The second argument is a unique namespace.With this, ActionType won't conflict.
import { createAggregate } from 'redux-aggregate'
import { Mutations } from 'path/to/model'
const {
  types,         // Generated ActionTypes
  creators,      // Generated ActionCreators
  reducerFactory // Generated ReducerFactory
} = createAggregate(Mutations, 'counter/')
By this alone, completed to define ActionTypes/ActionCreators/ReducerFactory with inferred type.
Related: Mutations ->
🔥 Auto inferred type by TypeScript

By the map of Type inference in conditional types, generated action creator's auto inferred.