pub type TestModule { TestModule(name: String, tests: List(Test)) }
TestModule(name: String, tests: List(Test))
pub fn init(state: Result(a, b)) -> Result(a, c)
pub fn run( suite: List(TestModule), stats: Sender(Message), ) -> List(TestModule)
pub fn start(suite: List(TestModule)) -> Int