import Foundation func get(box:[String: AnyObject], key: String) -> T? { return box[key] as? T } func get(item: AnyObject) -> T? { return item as? T } func keyPath(path: String) -> (box: [String: AnyObject]) -> T? { return { box in return (box as NSDictionary).valueForKeyPath(path) as? T } }