Keyboard uses Tonic value types such as Pitch, which are not usable if the consumer only imports Keyboard. It is not obvious that Tonic must also be imported to use them and throws an ambiguous error.
Exporting Tonic allows Tonic's value types to be used while only needing to import Keyboard.
Keyboard uses Tonic value types such as Pitch, which are not usable if the consumer only imports Keyboard. It is not obvious that Tonic must also be imported to use them and throws an ambiguous error. Exporting Tonic allows Tonic's value types to be used while only needing to import Keyboard.