Uses Any instead of AnyObject, support NSNull for intentional NULL Values