> Christopher, you should maybe follow your nose with the \$$-\infty\$$ idea...

Its interesting to note if we use the Haskell type former Maybe to add an extra value, every thing just works out of the box, the new value:Nothing` is the bottom of the default order, and the default lifting works for what ever the monoid structure is.

That is let \$$M(S) = \{\bot\} \sqcup S\$$, and (eliding the inl/inr by abuse of notation) let the preorder \$$\le = {(\bot, x) | x \in S} \cup {(x,y) | x \le y}\$$ where the abuse of notation is 90% of whats going on. >_< and define \$$lift2(F)(x,y) = \text{if}\, x = \bot \lor y = \bot\, \text{then}\, \bot \, \text{else}\, f(x,y)\$$

then \$$M([0,\infty])\$$ is a monoidal preorder with \$$\le\$$ as above, and lift2(+) the monoid.

And this fixes our problems: because if \$$\mathcal{X}(b,a)=-\infty\$$ then it can be the case that \$$\mathcal{X}(a,a) \le \mathcal{X}(a,b)\$$ so finite values are allowed, and can be distinct from one homobject to another.