Note: typedef is implemented. extend is not.
typedef
To create a named alias for some type, use typedef in the appropriate module's global scope (it may not be placed anywhere else):
typedef Noderef &rc mut Node
In this example, wherever Noderef is used in this module, it will be understood to mean &rc mut Node.
extend
It is possible to enrich an existing type by adding additional methods to it.
extend f32: fn cos(self f32) { ... }