Current semantics:
- If an overload lacks an implementation, go to the first implementation.
- If an overload has any implementation, go to the first one.
- If there are any declarations between an implementation and any overload, this will split the series of overloads (note that this is invalid code).