That’s essentially what I had before I went into a refactoring rabbit hole. It might just be simpler to pass the parser in the public function. For example:
def list_users(opts \\ []) do
:list_users
|> to_params(opts)
|> to_op(parser: &Parsers.User.parse/2)
end
def list_access_keys(opts \\ []) do
:list_access_keys
|> to_params(opts)
|> to_op(parser: &Parsers.AccessKey.parse/2)
end


















