functor (Iter : DomainPlus-> Domain