alk , ▁can ▁use ▁dynamic ▁typing : ▁an ▁object ▁can ▁be ▁sent ▁a ▁message ▁that ▁is ▁not ▁specified ▁in ▁its ▁interface . ▁This ▁can ▁allow ▁for ▁increased ▁flex ibility , ▁as ▁it ▁allows ▁an ▁object ▁to ▁" capt ure " ▁a ▁message ▁and ▁send ▁the ▁message ▁to ▁a ▁different ▁object ▁that ▁can ▁respond ▁to ▁the ▁message ▁appropri ately , ▁or ▁like wise ▁send ▁the ▁message ▁on ▁to ▁another ▁object . ▁This ▁behavior ▁is ▁known ▁as ▁message ▁forward ing ▁or ▁deleg ation ▁( see ▁below ). ▁Alternatively , ▁an ▁error ▁handler ▁can ▁be ▁used ▁in ▁case ▁the ▁message ▁cannot ▁be ▁forward ed . ▁If ▁an ▁object ▁does ▁not ▁forward ▁a ▁message , ▁respond ▁to ▁it , ▁or ▁handle ▁an ▁error , ▁then ▁the ▁system ▁will ▁generate ▁a ▁runtime ▁exception . ▁ ▁If ▁messages ▁are ▁sent ▁to ▁nil ▁( the ▁null ▁object ▁pointer ), ▁they ▁will ▁be ▁sil ently ▁ignored ▁or ▁raise ▁a ▁generic ▁exception , ▁depending ▁on ▁compiler ▁options . ▁ ▁St atic ▁typing ▁information ▁may ▁also ▁option ally ▁be ▁added ▁to ▁variables . ▁This ▁information ▁is ▁then ▁checked ▁at ▁compile ▁time . ▁In ▁the ▁following ▁four ▁statements , ▁increasing ly ▁specific ▁type ▁information ▁is ▁provided . ▁The ▁statements ▁are ▁equivalent ▁at ▁runtime , ▁but ▁the ▁extra ▁information ▁allows ▁the ▁compiler ▁to ▁warn ▁the ▁programmer ▁if ▁the ▁passed ▁argument ▁does ▁not ▁match ▁the ▁type ▁specified . ▁ ▁- ▁( void ) set My Value :( id ) foo ; ▁In ▁the ▁above ▁statement , ▁foo ▁may ▁be ▁of ▁any ▁class . ▁ ▁- ▁(