El protocolo extendido Codificable (o Codificable) no se ajusta a él

Tengo 2 protocolos,Filters yParameters, que se extiendenEncodable

protocol Filters: Encodable {
    var page: Int { get }
}

protocol Parameters: Encodable {
    var type: String { get }
    var filters: Filters { get }
}

Creo estructuras que se ajustan a estos protocolos, por lo tanto ...

struct BankAccountFilters: Filters {
    var page: Int
    var isWithdrawal: Bool
}

struct BankAccountParamters: Parameters {
    let type: String = "Bank"
    var filters: Filters
}

let baf = BankAccountFilters(page: 1, isWithdrawal: true)
let bap = BankAccountParamters(filters: baf)

Que falla porque ...

error: el tipo 'BankAccountParamters' no se ajusta al protocolo 'Encodable'

note: no se puede sintetizar automáticamente 'Encodable' porque 'Filtros' no se ajusta a 'Encodable'

Filters claramentehac conforme aEncodable (al menos me parece así). ¿Hay alguna forma de evitar esto

Respuestas a la pregunta(2)

Su respuesta a la pregunta