Eu nao conheço Arquitetura Hexagonal, mas pode ser um problema similar ao que tive ao tentar aplicar SOLID, Rust não é uma linguagem orientada a objetos (ate tem alguns conceitos mas é forçar a barra...) ela é uma linguagem funcional. Eu comecei a fazer codigo Rust melhor quando entendi que eu precisava entender o conceito próprio de Rust e que nao daria pra aplicar conceitos que eu aplicacava nas linguagens OO que conheço.

Realmente, muitos conceitos de outras linguagens orientadas a objetos não se aplicam a Rust, vou buscar entender melhor sobre o próprio conceito da linguagem, valeu pela dica!

Uma outra dica, cuidado com unwrap e derivados, rust tem como objetivo criar aplicações que nunca entram em estado de erro, o uso descontrolado de unwrap quebra esse objetivo e no longo prazo faz você deixar de ter confiança no seu próprio código, então por mais chato que seja aplicar um match ou if let com frequência, faça! pq no longo prazo você terá paz mental ao implementar novas features.