code: def reduce_activities(self):
          
          for stmt in self.statements:
              agents = stmt.agent_list()
              for agent in agents:
                  if agent is not None and agent.activity is not None:
                      agent_base = self._get_base(agent)
                      act_red = agent_base.get_activity_reduction(
                                                  agent.activity.activity_type)
                      if act_red is not None:
                          agent.activity.activity_type = act_red
              if isinstance(stmt, RegulateActivity):
                  if stmt.obj is not None:
                      obj_base = self._get_base(stmt.obj)
                      act_red = \
                          obj_base.get_activity_reduction(stmt.obj_activity)
                      if act_red is not None:
                          stmt.obj_activity = act_red
              elif isinstance(stmt, ActiveForm):
                  agent_base = self._get_base(stmt.agent)
                  act_red = agent_base.get_activity_reduction(stmt.activity)
                  if act_red is not None:
                      stmt.activity = act_red
docs: Rewrite the activity types referenced in Statements for consistency.
  
          Activity types are reduced to the most specific form whenever possible.
          For instance, if 'kinase' is the only specific activity type known
          for the BaseAgent of BRAF, its generic 'activity' forms are rewritten
          to 'kinase'.