title: Convert Array extension to SequenceType?
body: <p>I'm putting together some common functions I use in my app and came up with the below extensions:</p>
  
  <pre><code>public extension CollectionType {
      public func toArray() -&gt; [Self.Generator.Element] {
          return self.map { $0 }
      }
  }
  
  public extension Array {
  
      public func any(fn: (Element) -&gt; Bool) -&gt; Bool {
          return self.filter(fn).count &gt; 0
      }
  
      public func all(fn: (Element) -&gt; Bool) -&gt; Bool {
          return self.filter(fn).count == self.count
      }
  
      public func take(count:Int) -&gt; [Element] {
          var to = [Element]()
          var i = 0
          while i &lt; self.count &amp;&amp; i &lt; count {
              to.append(self[i++])
          }
          return to
      }
  
      public func skip(count:Int) -&gt; [Element] {
          var to = [Element]()
          var i = count
          while i &lt; self.count {
              to.append(self[i++])
          }
          return to
      }
  }
  </code></pre>
  
  <p>Can they be applied to a lower level type like <code>SequenceType</code>? Also, do I have to put <code>@noescape</code> anywhere in these functions?</p>