 @transparent public
 func ~= <T>(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool {
   switch rhs {
-  case .Some(_) :
-    return false
-  case .None :
+  case .Some(_):
+    return false
+  case .None:
     return true
   }
 }


  var count: Int { return (_value != nil) ? 1 : 0 }

  subscript(i: Int) -> (String, MirrorType) { 
    switch (_value,i) {
    case (.Some(let contents),0) : return ("Some",reflect(contents))
    default: _preconditionFailure("cannot extract this child index")
    }
  }

  var summary: String { 
    switch _value {
      case .Some(let contents): return reflect(contents).summary
      default: return "nil"


// The compiler has special knowledge of Optional<T>, including the fact that
// it is an enum with cases named 'None' and 'Some'.
public enum Optional<T> : Reflectable, NilLiteralConvertible {
  case None
  case Some(T)

