def __init__(self, path, lineno, lexpos, name, extends, doc, fields,<EOL>examples):
super(AstTypeDef, self).__init__(path, lineno, lexpos)<EOL>self.name = name<EOL>assert isinstance(extends, (AstTypeRef, type(None))), type(extends)<EOL>self.extends = extends<EOL>assert isinstance(doc, (six.text_type, type(None)))<EOL>self.doc = doc<EOL>assert isinstance(fields, list)<EOL>self.fields = fields<EOL>assert isinstance(examples, (OrderedDict, type(None))), type(examples)<EOL>self.examples = examples<EOL>
Args:
    name (str): Name assigned to the type.
    extends (Optional[str]); Name of the type this inherits from.
    doc (Optional[str]): Docstring for the type.
    fields (List[AstField]): Fields of a type, not including
        inherited ones.
    examples (Optional[OrderedDict[str, AstExample]]): Map from label
        to example.