There is a violation in the covariance of the ActionSequence and PCMActionSequence. The PCMActionSequence's getElements method returns AbstractActionSequenceElement instead of AbstractPCMActionSequenceElement.
There could be more problems like this due to the recent refactoring. We should discuss how and whether we approach these before switching to DAGs for the internal representation.