It seems like there is something going wrong with the way they are initialised as opposed to other objects as the xml out is:
for the command sbol2.CombinatorialDerivation('pAOX4').
Additionally, it doesn't seem like sbol:variant checks if the value given actually references an existing component definition.