SIGHASH_ANYPREVOUT has been designed as I understand primarily for the eltoo channel construction use case although it has [many other potential use cases][1] too.

BIP 119 [states][5]:

> Were both OP_CHECKTEMPLATEVERIFY and OP_CHECKSIGFROMSTACKVERIFY to be
> added to Bitcoin, it would be possible to implement a variant of
> Eltoo's floating transactions using the following script:

    witness(S+n): <sig> <H(tx with nLockTime S+n paying to program(S+n))>
        program(S): OP_CHECKTEMPLATEVERIFY <musig_key(pk_update_a, pk_update_b)> OP_CHECKSIGFROMSTACKVERIFY <S+1> OP_CHECKLOCKTIMEVERIFY

How do these two eltoo channel constructions compare e.g. upsides and downsides? They clearly aren't equivalent. The BIP states:

> Compared to SIGHASH_ANYPREVOUTANYSCRIPT, because
> OP_CHECKTEMPLATEVERIFY does not allow something similar to
> SIGHASH_ANYONECANPAY or SIGHASH_SINGLE, protocol implementers might
> elect to sign multiple versions of transactions with CPFP Anchor
> Outputs or Inputs for paying fees or an alternative such as
> transaction sponsors might be considered.

  [1]: https://anyprevout.xyz/
  [2]: https://twitter.com/ProofOfKeags/status/1474780645859762180?s=20
  [3]: https://bitcoin.stackexchange.com/questions/107797/what-is-sighash-anyprevoutanyscript/
  [4]: https://twitter.com/JeremyRubin/status/1474399666225618950?s=20
  [5]: https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki#Eltoo_with_OP_CHECKSIGFROMSTACKVERIFY