Also pathing. Trains leave Waverley on minimum headway (three minutes). The platform reoccupation at Haymarket is three minutes (train stopping, transfer of passengers, and restart). If everything stops at Haymarket, then these two match up, and all trains can leave at three minute intervals, stop, and restart from Haymarket while still at three minute intervals.
Although the headway along that stretch of line is 3 mins, the platform reoccupation at Haymarket is 2½ mins and the minimum dwell time at Haymarket is 1 min.
So whilst you can depart trains from Edinburgh 3 mins apart if necessary, if two services are 3 mins apart, the second will need (½) before Haymarket. The third service then can't depart Edinburgh until 7½ mins after the first unless you add ever increasing amounts of (), so a 3 mins headway only works for the second service in a group of minimum headway services.
The practical headway is therefore 3½ mins, and that's when the service in front has a standard 1 minute dwell - for many of the IC services it's longer than that, and so headway effectively increases.
This is why departures can't be xx00, xx03, xx06, xx09, xx12 etc. but at best xx00, xx03, xx07, xx10, xx14 (the variable 3 and 4 minute gaps being due to GBTT rounding).
Might only sound a small difference, 3 vs 3½ mins, but it makes a big difference as to the timetable that can be achieved at a location as constrained as Haymarket. It's a cut from a maximum of 20tph to 17tph.
You could achieve a fully 3 minute headway service if nothing called at Haymarket (and it would help if Haymarket East Jn were grade separated - pigs might fly...).
That's how they manage it on lots of routes in and out of London, with usually nothing calling before diverging off the "common" route, or recessing into a station with multiple platforms per direction (e.g. Reading, London Bridge, Milton Keynes).