https://developer.apple.com/library/ios/documentation/general/conceptual/devpedia-cocoacore/DynamicTyping.html