functor (M : S1_phantom_invariant-> sig  end