The client exposes one method
def publish[T](topicArn: String)(message: T)(implicit enc: Encoder[T]): F[PublishResponse]
This takes a case class and requires an implicit circe encoder to deserialise the case class to JSON.
Next: Use with ZIO