同じように扱おうとすると苦労する

整数,浮動小数点数,二次元座標に文字列を同じように扱えるものをつくろうと試行錯誤しているのですが,扱う型によって特有のインタフェースが出てくるので難儀しています.たとえば,浮動小数点数には NaN という特殊な値があるし,二次元座標には大小関係が成立しないし,文字列は最大値を示すのが難しいなどです.

どうすれば上手く統一的なインタフェースを与えられるのか….