Kaba class Mode ed

...

Syntax ed

class Mode

    # functions
    func static pure all(type: Class&) -> Mode[]
    func static pure from_int(i: i32) -> Mode
    func static pure parse(label: string, type: Class&) -> Mode

    # operators
    func pure __i32__() -> i32           # i32(Mode) -> i32
    func static __assign__(a: Mode, b: Mode) # Mode = Mode
    func pure __add__(b: Mode) -> Mode   # Mode + Mode -> Mode
    func static __iadd__(a: Mode, b: Mode) # Mode += Mode
    func pure __eq__(b: Mode) -> bool    # Mode == Mode -> bool
    func pure __neq__(b: Mode) -> bool   # Mode __neq__ Mode -> bool
    func pure __bitand__(b: Mode) -> Mode # Mode & Mode -> Mode
    func pure __bitor__(b: Mode) -> Mode # Mode | Mode -> Mode

    # constants
    let NONE: Mode
    let PUB: Mode
    let SUB: Mode
    let XPUB: Mode
    let XSUB: Mode

Functions ed

func static pure all(type: Class&) -> Mode[]
...

func static pure from_int(i: i32) -> Mode
...

func static pure parse(label: string, type: Class&) -> Mode
...