@discardableResult func doStuff( string: String, completion: (([String]) -> Void)? = nil) throws -> Promise<[String]> {}