Kaba class Flags ed

...

Syntax ed

class Flags

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

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

    # constants
    let BRKINT: Flags
    let CS8: Flags
    let CSIZE: Flags
    let ECHO: Flags
    let ECHONL: Flags
    let ICANON: Flags
    let ICRNL: Flags
    let IEXTEN: Flags
    let IGNBRK: Flags
    let IGNCR: Flags
    let INLCR: Flags
    let ISIG: Flags
    let ISTRIP: Flags
    let IUTF8: Flags
    let IXON: Flags
    let OPOST: Flags
    let OXTABS: Flags
    let PARENB: Flags
    let PARMRK: Flags

Functions ed

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

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

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