
def urbanmain() = {
  import M3._

  assert(SEQs_smart(Nil) == ONE)
  assert(SEQs_smart(List(ZERO)) == ZERO)
  assert(SEQs_smart(List(CHAR('a'))) == CHAR('a'))
  assert(SEQs_smart(List(ONE ~ ONE)) == ONE ~ ONE)
  assert(SEQs_smart(List(ONE, ONE)) == SEQs(List(ONE, ONE)))
  assert(ALTs_smart(Nil) == ZERO)
  assert(ALTs_smart(List(ONE ~ ONE)) == ONE ~ ONE)
  assert(ALTs_smart(List(ZERO, ZERO)) == ALTs(List(ZERO, ZERO)))
}
