> 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.