build :: Ord a => Reg a -> Sigma a -> State StateTy (LBFA a)
build Empty sigma = do
  s <- fetchState
  return $ LBFA {
    trans  = [(s, [])],
    initS  = s,
    finalS = [],
    alpha  = sigma,
    lastS  = s
    }
build :: Ord a => Reg a -> Sigma a -> State StateTy (LBFA a)
build Empty sigma = do
  s <- fetchState
  return $ LBFA {
    trans  = [(s, [])],
    initS  = s,
    finalS = [],
    alpha  = sigma,
    lastS  = s
    }
build Empty sigma = do
  s <- fetchState
  return $ LBFA {
    trans  = [(s, [])],
    initS  = s,
    finalS = [],
    alpha  = sigma,
    lastS  = s
    }