complex: コンストラクタに各種特殊化を追加