(entity-history
    [db eid sort-order]
    [db eid sort-order {:keys [with-docs? with-corrections?]
                        {start-vt :crux.db/valid-time,
                         start-tt :crux.tx/tx-time
                         start-tid :crux.tx/tx-id} :start
                        {end-vt :crux.db/valid-time,
                         end-tt :crux.tx/tx-time
                         end-tid :crux.tx/tx-id} :end}]
    "Eagerly retrieves entity history for the given entity.
    Options:
    * `sort-order`: `#{:asc :desc}`
    * `:with-docs?`: specifies whether to include documents in the entries
    * `:with-corrections?`: specifies whether to include bitemporal corrections in the sequence, sorted first by valid-time, then tx-id.
    * `:start` (nested map, inclusive, optional): the `:crux.db/valid-time`, `:crux.tx/tx-time` and `:crux.tx/tx-id` to start at.
    * `:end` (nested map, exclusive, optional): the `:crux.db/valid-time`, `:crux.tx/tx-time` and `:crux.tx/tx-id` to stop at.
    No matter what `:start` and `:end` parameters you specify, you won't receive results later than the valid-time and tx-id of this DB value.
    Each entry in the result contains the following keys:
     * `:crux.db/valid-time`,
     * `:crux.db/tx-time`,
     * `:crux.tx/tx-id`,
     * `:crux.db/content-hash`
     * `:crux.db/doc` (see `with-docs?`).")