Расширения (extensions) могут использоваться для расширения или определения анонимного типа, либо для расширения типа "на лету".
Вот пример расширения определения анонимного типа:
Для классов, поскольку они не определяют типов, необходимо приводить тип (cast) во время присвоения. Это небезопасно, так что будьте осторожны.
Расширения можно также использовать для создания каскадных определений типов:
В этом случае, каждый Point3D будет также и Point.
Каскадные определения типов могут быть также созданы из типов обычных классов, но компилятор не сможет сравнить этот typedef с анонимным объектом или другим инстансом класса. Это происходит потому, что Haxe не является полностью структурно подтипизированным (structurally subtyped). Структурная подтипизация может использоваться только между анонимными определениями типа или между инстансом класса и анонимным определением типа.