val elems : 'a table -> 'a list (* return all the data as a list *)
val elemsi : 'a table -> (symbol * 'a) list (* return the symbols with the associated data *)
val keys : 'a table -> symbol list (* just the symbols *)
+ val intersect : ('a * 'a -> 'a) -> 'a table * 'a table -> 'a table
(* symbol set -- similar to a () Symbol.table, elements can be removed *)
type set
fun elems t = Map.listItems t
fun elemsi t = Map.listItemsi t
fun keys t = Map.listKeys t
+ fun intersect binding (t1,t2) = Map.intersectWith binding (t1,t2)
fun delimit' [] s = s
| delimit' [x] s = s ^ x