1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
abstract MP3 = { cat Move ; Song ; fun Play : Song -> Move ; CanPlay : Song -> Move ; WantPlay : Song -> Move ; WhichPlay : Move ; ThisSong : Song ; This : Song ; Yesterday : Song ; ---- MkSong : String -> Song ; }