let compose apply (y, b) sl =
    if eq y b then sl else
      (y, b) :: (fuse apply (y, b) sl)