Write two functions and explain your approach in under two minutes after coding: (A) Sorting: Implement sort_numbers(nums: List[int]) -> List[int] that returns nums in non-decreasing order without using built-in sort; use a standard algorithm and describe time/space complexity and stability. (B) Set Intersection: Implement intersect_sets(a: Iterable[int], b: Iterable[int]) -> List[int] that returns the unique elements present in both a and b in ascending order; describe time/space complexity and key edge cases (e.g., empty inputs, duplicates). Assume you must handle input parsing yourself (no helpers), and you will have two fixed test cases with a single allowed submission.