type judgement = | Perfect| Great| Good| Almost| Miss
val song_time : position:float -> offset:float -> floattype 'lane note = {at : float;lane : 'lane;length : float;
}val start :
offset:float ->
started:float ->
'lane note list ->
'lane performanceval sounding : Abc.tune -> int -> (float * float * int list) listtype difficulty = | Easy| Medium| Hard| Expert
val strummed : strum:bool -> held:'lane list -> 'lane listval sustaining : float -> 'lane list -> 'lane performance -> int