@Ignore
@Override
public void $serialize$(Callable<? extends Deconstructor> deconstructor) {
// Don't call super.$serialize$() since our runtime super class is
// an implementation detail
Generic myTd = (TypeDescriptor.Generic)$getType$();
Deconstructor dtor = deconstructor.$call$(ceylon.language.meta.typeLiteral_.typeLiteral(myTd));
TypeDescriptor reifiedElement = myTd.getTypeArguments()[0];
TypeDescriptor reifiedFirst = myTd.getTypeArguments()[1];
TypeDescriptor reifiedRest = myTd.getTypeArguments()[2];
dtor.putTypeArgument(
((GenericDeclaration)Metamodel.getOrCreateMetamodel(Tuple.class)).getTypeParameterDeclaration("Element"),
Metamodel.getAppliedMetamodel(reifiedElement));