(functor ((algebraic-structures semigroup) (S (op))) (op) (import (only S op)))