## Turn 1

We need to fix median function to handle odd and even lengths correctly, and return None for empty list. Also handle non-numeric? Not needed. Implementation: if not values: return None. Sort, compute mid. If len is odd: return values[mid]. If even: average of two middle values: (values[mid-1] + values[mid]) / 2. Also ensure division returns float. Use // for mid. For even length, mid = len//2, mid-1 is previous. So median = (values[mid-1] + values[mid]) / 2.0. Also maybe handle list of ints. Return int if median is integer? In tests, median([10,1,2,3]) expected 2.5. So float. For odd, median is int. So fine.

Also need to handle case where values is not list? Not needed.

Return None for empty list.

Also maybe handle values being generator? But tests only list.

Thus patch.

Also need to ensure function signature remains same.

Let's produce unified diff.