Never mind, I figured it out! If anyone else wants this the solution I found that is working is using the studentsMustReduceUnions flag. Here is a working example:

###########################

# Initialization

DOCUMENT();

loadMacros(

"PGstandard.pl",

"MathObjects.pl",

"PGML.pl",

);

TEXT(beginproblem());

##########################

# Setup

Context("Interval");

$a = Interval("{1}U(2,5)U{6}");

BEGIN_PGML

the interval [`[$a]`] is [_]{($a)->cmp(studentsMustReduceUnions => 0)}

END_PGML

COMMENT('Uses PGML.');

ENDDOCUMENT();

###########################

# Initialization

DOCUMENT();

loadMacros(

"PGstandard.pl",

"MathObjects.pl",

"PGML.pl",

);

TEXT(beginproblem());

##########################

# Setup

Context("Interval");

$a = Interval("{1}U(2,5)U{6}");

BEGIN_PGML

the interval [`[$a]`] is [_]{($a)->cmp(studentsMustReduceUnions => 0)}

END_PGML

COMMENT('Uses PGML.');

ENDDOCUMENT();