public class Condition にして、サブクラスをモジュールに閉じ込めれば( open でないと外部から継承できないので)できるかも・・・。noConfiguration については、↑の話を聞くまでは、 Configuration<Int, Int> とかを防止するために、 Configuration のイニシャライザは本来 fileprivate にして外部から隠蔽して、 noConfiguration と setFlag 経由でしかインスタンス生成できないようにするためのものかと思ってました。