sig val lcs : 'a list -> 'a list -> 'a list end