Differences between Pytorch and Deepmind sonnet framework

I am trying to understand the similarities/differences with the sonnet framwork of deepmind.
here are my conclusions:
Boths frameworks are trying to introduce some freedom degres in the forward/backward implementation of the layers.
Sonnet splits the layers implementation in two parts :

  • Configuration of the layer
  • Connection of the layer to the syntactic tree
    While PyTorch introduce a new notion of syntactic tree: the dynamic syntactic tree;
    While the intention is the same, in case of Sonnet, as soon as it is connected, you cannot change it again. A contrario, in the case of Pytorch, you change the syntactic tree all along the learning,
    Am I correct ?