func (p Position) Add(d Duration) Position { return Position(rational.Add(rational.Rational(p), rational.Rational(d))) }
func (d Duration) Add(other Duration) Duration { return Duration(rational.Add(rational.Rational(d), rational.Rational(other))) }