buffer_merge :: Buffer -> Buffer -> [Buffer]
buffer_merge bs1 bs2
  | S.length bs1 == 0 = [bs2]
  | S.length bs2 == 0 = [bs1]
  | otherwise         = [bs1,bs2]
buffer_merge :: Buffer -> Buffer -> [Buffer]
buffer_merge bs1 bs2
  | S.length bs1 == 0 = [bs2]
  | S.length bs2 == 0 = [bs1]
  | otherwise         = [bs1,bs2]
buffer_merge bs1 bs2
  | S.length bs1 == 0 = [bs2]
  | S.length bs2 == 0 = [bs1]
  | otherwise         = [bs1,bs2]