<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_keybinding(self, tup_tree):
 """ Parse a KEYBINDING element and return the keybinding as a one-item dictionary from name to value, where the value is a CIM data type object, based upon the type information in the child elements, if present. If no type information is present, numeric values are returned as int or float. :: <!ELEMENT KEYBINDING (KEYVALUE | VALUE.REFERENCE)> <!ATTLIST KEYBINDING %CIMName;> """


        self.check_node(tup_tree, 'KEYBINDING', ('NAME',))

        child = self.one_child(tup_tree, ('KEYVALUE', 'VALUE.REFERENCE'))

        return {attrs(tup_tree)['NAME']: child}