functor (P : PARSER-> S