sig
type
left
type
right
type
eq
type
diff
type
state
end