-record(aggregate, { entity :: any(), handle :: fun((any(), any()) -> {ok, list(any())} | {error, any()}), apply :: fun((any(), any()) -> any()) }).