public override TypeNode VisitTypeNode(TypeNode typeNode)
{
if (typeNode == null) return null;
TypeNode result = base.VisitTypeNode(typeNode);
result.Name = (Identifier)this.VisitIdentifier(typeNode.Name);
TypeExpression te = result as TypeExpression;
if (te != null)
te.Expression = this.VisitExpression(te.Expression);
return result;
}