-record(effect, { id :: sprocket@internal@utils@unique:unique(sprocket@context:hook_id()), effect :: fun(() -> gleam@option:option(fun(() -> nil))), deps :: list(gleam@dynamic:dynamic_()), prev :: gleam@option:option(sprocket@context:effect_result()) }).