<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def detect_functions_called(contract):
 """ Returns a list of InternallCall, SolidityCall calls made in a function Returns: (list):
 List of all InternallCall, SolidityCall """

        result = []

        # Obtain all functions reachable by this contract.
        for func in contract.all_functions_called:
            # Loop through all nodes in the function, add all calls to a list.
            for node in func.nodes:
                for ir in node.irs:
                    if isinstance(ir, (InternalCall, SolidityCall)):
                        result.append(ir.function)
        return result