     }
 }
 
+/**
+ A type-erased `StoreProtocol` conformance.
+ */
 public struct AnyStore<T>: StoreProtocol {
     private let doSubscribe: (@escaping (T) -> Void) -> (() -> Void)
     private let doDispatch: (Action) -> Void

extension Dispatcher {
    /**
     Executes a closure with an injected `dispatch` function.
     Useful asynchronous `Action` dispatches.

     - parameter thunk: The closure that will be executed with an injected `dispatch` function.
     */

}

extension StoreProtocol {
    /**
     Maps this store into a store with the same dispatch capabilities
     but with a transformed `State`.
     
     Useful for selecting branches of a larger `State` tree.

     - parameter transform: The transformation that will be applied to the
     current `State`.
     - returns: a store with the same dispatch capabilities that publishes
     `T` instead of `State`.
    */
    public func map<T>(_ transform: @escaping (State) -> T) -> AnyStore<T> {
        func subscribe(_ subscription: @escaping (T) -> Void) -> ((Void) -> Void) {
            return self.subscribe { state in
