docs: def concrete(self, other=None):
          """
          Return copy and score after being applied other system and soft features.
  
          Args:
  
          - other(system, optional): system to apply just before soft features.
  
          Return(tuple): tuple of the resulting system and its score.
          """
  
          new_system = self.clone()
          if other:
              new_system.applyFeatures(other, missing="other")
          soft_features = self.getValue(SoftFeatures.SOFT, [])
          score = 0
          for f in sorted(soft_features, key=lambda f: f.soft, reverse=True):
              try:
                  new_system.applyFeatures(f, missing="other")
                  score += f.soft
              except:
                  pass
          new_system.delValue(SoftFeatures.SOFT)
          return new_system, score