I am finding extremely hard to use PromiseKit 6.13.1 in an apparently simple situation.
I have the following two functions returning a **`Promise<String>`** but I cannot seem to find a way to use them with ```firstly{}.then{} syntax:

```
 func promiseGetJWTToken() -> Promise<String> {
    return Promise<String> { seal in
        let error: Error = NSError(domain: "", code: 2000)
        getJWTToken { tokenJWT in
            guard let tokenJWT = tokenJWT else {
                seal.resolve(.rejected(error))
                return
            }
            seal.resolve(.fulfilled(tokenJWT))
        }
    }
}

func promiseGetBEToken() -> Promise<String> {
    return Promise<String> { seal in
        let error: Error = NSError(domain: "", code: 2000)
        getBEToken { result in
            switch result {
            case .success(let response):
                guard let tokenBE = response.token else {
                    seal.resolve(.rejected(error))
                    return
                }
                seal.fulfill(tokenBE)
            case .failure(let error):
                debugPrint(error)
                seal.resolve(.rejected(error))
            case .none:
                seal.resolve(.rejected(error))
            }
        }
    }
}

```

When I try to use the following as follows

```
firstly {
   promiseGetJWTToken()
 }.then { tokenJWT in
   // no need go on because I have issues already here         
 }

```

I receive:

**Type '()' cannot conform to 'Thenable'; only struct/enum/class types can conform to protocols**

I have also tried, which comes from autocompletion:

```
promiseGetJWTToken().then { token -> Thenable in
    // no need go on because I have issues already here  
}

```

In this case I receive:

**Protocol 'Thenable' can only be used as a generic constraint because it has Self or associated type requirements**

I decided to give PromiseKit a try because I have three network calls dependent on each other on cascade, but I wouldn't expect this to be so hard. Can anyone show me what am I doing wrong?