不動点の話で全く関係ないことを思い出した

boost::optional には,コピーコンストラクタと,型 T を持つオブジェクトからの変換コンストラクタがあります.

template<class T>
class optional{
...
optional(optional const &);
optional(T const &);
...
}; // class optional

で,昔,この2つのコンストラクタの呼び出しが曖昧になる場合,つまり T が optional になってしまう場合があったりしないかという不安に一瞬襲われたことがあるのを思い出しました.まる.しょーもなー.
(自分の食べ物に毒が入っているのではないかという不安から,結果,餓死するタイプ)