original_string: public static function power(Set $a) : array
      {
          $power = [new self()];
  
          foreach ($a as $multiplicand) {
              foreach ($power as $multiplier) {
                  $power[] = new self(array_merge([$multiplicand], $multiplier->toArray()));
              }
          }
  
          return $power;
      }
code: public static function power(Set $a) : array
      {
          $power = [new self()];
  
          foreach ($a as $multiplicand) {
              foreach ($power as $multiplier) {
                  $power[] = new self(array_merge([$multiplicand], $multiplier->toArray()));
              }
          }
  
          return $power;
      }
code_tokens: public static function power ( Set $ a ) : array { $ power = [ new self ( ) ] ; foreach ( $ a as $ multiplicand ) { foreach ( $ power as $ multiplier ) { $ power [ ] = new self ( array_merge ( [ $ multiplicand ] , $ multiplier -> toArray ( ) ) ) ; } } return $ power ; }
docstring: Creates the power set of A.
  
  @param Set $a
  
  @return Set[]
docstring_tokens: Creates the power set of A .