             }
         }
     }
-    //the init that converts everything to something nice
+    ///the init that converts everything to something nice
     public init(_ raw: AnyObject) {
         var rawObject: AnyObject = raw
         if let data = rawObject as? NSData {

    }
}

//Implement this protocol on all objects you want to use JSONJoy with
public protocol JSONJoy {
    init(_ decoder: JSONDecoder)
}

public class JSONDecoder {
    var value: AnyObject?
    
    ///print the description of the JSONDecoder
    public var description: String {
        return self.print()
    }
    ///convert the value to a String
    public var string: String? {
        return value as? String
    }
    ///convert the value to an Int
    public var integer: Int? {
        return value as? Int
    }
    ///convert the value to an UInt
    public var unsigned: UInt? {
        return value as? UInt
    }
    ///convert the value to a Double
    public var double: Double? {
        return value as? Double
    }
    ///convert the value to a float
    public var float: Float? {
        return value as? Float
    }
    ///treat the value as a bool
    public var bool: Bool {
        if let str = self.string {
            let lower = str.lowercaseString
