It would be hard to be expressive enough considering there’s a lot of exceptions where things don’t really quite work.
eg copying without conversion between different formats isn’t really possible when it looks like it should be, because there’s a lot of incorrect handling of timestamps both in libavformat and in files themselves.