generate(nil | module(), nil | module(), Keyword.t()) :: :not_changed | {:created, String.t(), integer()} | {:changed, String.t(), integer()} | {:deleted, String.t(), integer()}