The usual way of getting a category of metric spaces is to take metric spaces as objects, and the *nonexpansive* maps (ie, functions $f : A \to B$ such that $d_B(f(a), f(a')) \leq d_A(a, a')$) as morphisms.

However, for my purposes I'd like to use the Banach fixed point theorem to get a category with a trace structure or Conway operators on it, which means I want to consider the contraction mappings on nonempty metric spaces -- that is, there should be $q < 1$ for each mapping $f$ such that $d_B(f(a), f(a')) \leq q \cdot d_A(a, a')$.

But nonempty metric spaces and contraction mappings don't form a category, since the identity function is not a contraction map! Is there some way of defining this kind of setup as a category? I'm happy to play games with the metrics (e.g., use ultrametrics, but bounds on them, that sort of thing), if it helps.