public override QsStatementKind onConjugation(QsConjugation stm)
            {
                var inner            = stm.InnerTransformation;
                var innerLoc         = this._Scope.onLocation(inner.Location);
                var transformedInner = new QsPositionedBlock(this._Scope.Transform(inner.Body), innerLoc, inner.Comments);

                return(QsStatementKind.NewQsConjugation(new QsConjugation(stm.OuterTransformation, transformedInner)));
            }
            /// <inheritdoc/>
            public override QsStatementKind OnConjugation(QsConjugation stm)
            {
                var superInWithinBlock = this.SharedState.InWithinBlock;
                this.SharedState.InWithinBlock = true;
                var (_, outer) = this.OnPositionedBlock(QsNullable<TypedExpression>.Null, stm.OuterTransformation);
                this.SharedState.InWithinBlock = superInWithinBlock;

                var (_, inner) = this.OnPositionedBlock(QsNullable<TypedExpression>.Null, stm.InnerTransformation);

                return QsStatementKind.NewQsConjugation(new QsConjugation(outer, inner));
            }