         }
         
     }
+    
+  
     public var num:NSNumber? {
         switch self {
         case .NumberType(let num):

public enum Value {
    case StringType(String)
    case NumberType(NSNumber)
    case NullType(NSNull)
    
    // json object types

// initialization of Value instances
extension Value {
    
    public init (_ val:JSONArray, restrictTypeChanges:Bool = true, anyValueIsNullable: Bool = true) {
        self = .JSONArrayType(val)
    }
    
    public init (_ val:JSONDictionary, restrictTypeChanges:Bool = true, anyValueIsNullable: Bool = true) {
        self = .JSONDictionaryType(val)
    }
    
    
    
    public init? (_ val:AnyObject, restrictTypeChanges:Bool = true, anyValueIsNullable: Bool = true) {
        if let v = val as? String {
            self = .StringType(v)
        }
        else if let v = val as? NSNumber {
            self = .NumberType(v)
        }
