     case JsonNull
     case JsonInvalid(NSError)
 
-    init(_ rawValue: AnyObject) {
+    public init(_ rawValue: AnyObject) {
         switch rawValue {
         case let raw as NSNull:
             self = .JsonNull

    public var int: Int? {
        switch self {
        case .JsonNumber(let value): return value.integerValue
        case .JsonString(let value): return value.bridgeToObjectiveC().integerValue
        case .JsonBool(let value): return Int(value)
        default: return nil
        }

    public var uint: UInt? {
        switch self {
            case .JsonNumber(let value): return value.unsignedLongValue
            case .JsonString(let value): return UInt((value as NSString).integerValue)
            case .JsonBool(let value): return UInt(value)
            default: return nil
        }
