One cached module calculation and its own settings: how long its entries
live and what is passed to the store adapter. nil and [] results are
real answers, so they are always cached.
Summary
Types
@type t() :: %AshCache.CachedCalculation{ __spark_metadata__: Spark.Dsl.Entity.spark_meta(), name: atom(), store_options: keyword(), ttl: pos_integer() | :infinity | nil }