cached 1.0.0

Generic cache implementations and simplified function memoization
Documentation
# Contributing

Thanks for contributing!

## Getting Started

### Required software

- [Rust toolchain]https://www.rust-lang.org/en-US/install.html
- [`cargo-readme`]https://github.com/livioribeiro/cargo-readme (`cargo install
  cargo-readme`)
- [GNU Make]https://www.gnu.org/software/make/
- [Docker]https://www.docker.com/ or another Docker-compatible container
  engine
  - The docker command used by the Makefile can be specified with `DOCKER_COMMAND`, e.g.
    ```
    make DOCKER_COMMAND=containerd docker/redis
    ```

## Making Changes

- Before committing changes, run `make fmt` to format the code
- Add an entry to `CHANGELOG.md` describing what changed and why
- The `README.md` is generated from `src/lib.rs` using `cargo-readme` and must
  never be edited by hand. After changing `src/lib.rs`, run `make docs` to sync
  it, then verify with `make check/readme`
- Keep `make help` output up to date with any Makefile target changes, and
  verify it with `make check/help`
- Run the full CI check before submitting: `make ci`

## Make goals overview

```bash
# Run the full CI pipeline (fmt + clippy + readme check + tests + examples)
make ci
# List all supported Make targets
make help
# Run all tests across all feature combinations
make tests
# Run all examples
make examples
# Sync README.md from src/lib.rs
make docs
# Format the source code
make fmt
# Run all checks (formatting, clippy, README sync)
make check
# Verify `make help` covers every supported target
make check/help
# Remove all generated artifacts and Docker containers
make clean
```

## Submitting Changes

Pull requests should be made against `master`. GitHub Actions will run the full
test suite on all PRs. Remember to update the changelog!