Kaba struct Term ed

...

Syntax ed

struct Term
    var name: string
    var params: shared![Term][]
    var type: Type

    # constructors
    func mut __init__(_type: Type, _name: string)

    # functions
    func param_needs_paranthesis(index: i32) -> bool
    func shallow_copy() -> xfer[Term]

    # operators
    func __str__() -> string             # str(Term) -> string
    func __float__() -> f32              # __float__ Term -> f32
    func mut __assign__(other: Term)     # Term = Term

Functions ed

func param_needs_paranthesis(index: i32) -> bool
...

func shallow_copy() -> xfer[Term]
...

Elements ed

var name: string
...

var params: shared![Term][]
...

var type: Type
...