-record(strategy, { discover_nodes :: fun(() -> {ok, list(gleam@erlang@atom:atom_())} | {error, any()}), connect_nodes :: fun((list(gleam@erlang@atom:atom_())) -> {ok, list(gleam@erlang@atom:atom_())} | {error, list({gleam@erlang@atom:atom_(), gleam@erlang@node:connect_error()})}), disconnect_nodes :: fun((list(gleam@erlang@atom:atom_())) -> {ok, list(gleam@erlang@atom:atom_())} | {error, list({gleam@erlang@atom:atom_(), barnacle:node_disconnect_error()})}), list_nodes :: fun(() -> {ok, list(gleam@erlang@atom:atom_())} | {error, any()}) }).