In the source code, GATConv is implemented by using `fn.u_mul_e`

， where `e`

is the attention weight. NNConv also uses `fn.u_mul_e`

, where `e`

is the parameter `W`

. I found that there is a fundamental confilct between them, since you could only pass one `fn.u_mul_e`

to `fn.update_all`

(right?).

Possible solution:

`g.send(message)`

+ `g.update_all(fn.u_mul_e(), fn.sum())`

What I prefer:

`g.update_all([fn.u_mul_e(), fn.u_mul_e()], fn.sum())`

or

`g.update_all(fn.u_mul_e(), fn.sum_with_weight())`

What do you think?