interface logging { enum level { trace, debug, info, warn, error, } /// log any general purpose message log: func(level: level, message: string); /// This function is meant to be used by the tracing crate. log-tracing: func(event: list); }