<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _flush_signature(key, return_type):
 # type: (FunctionKey, InternalType) -> None """Store signature for a function. Assume that argument types have been stored previously to 'collected_args'. As the 'return_type' argument provides the return type, we now have a complete signature. As a side effect, removes the argument types for the function from 'collected_args'. """

    signatures = collected_signatures.setdefault(key, set())
    args_info = collected_args.pop(key)
    if len(signatures) < MAX_ITEMS_PER_FUNCTION:
        signatures.add((args_info, return_type))
    num_samples[key] = num_samples.get(key, 0) + 1