         }
     }
     
-    func onNone(@noescape f: Void -> Void) -> Optional {
+    public func onNone(@noescape f: Void -> Void) -> Optional {
         
         switch self {
         case .Some(let wrapped): return .Some(wrapped)

        }
    }
    
    func apply(@noescape f: Wrapped -> Void) {
        
        switch self {
        case .Some(let wrapped): f(wrapped)

        }
    }
    
    public var isSome: Bool {
        
        switch self {
        case .Some(_): return true
