comboSubs (Just subs1@(_:_)) (Just subs2@(_:_))   = Just (s1 ++ subs2)
      where
             tsc1 = map fst subs1
             -- tsc stands for terms of substitution component
             vsc1 = map snd subs1
             -- vsc stands for variables of substitution component
             tsc1' = applySubs subs2 tsc1
             s1 = zip tsc1' vsc1
------------------------------------------------------------------------------
comboSubs (Just subs1@(_:_)) (Just subs2@(_:_))   = Just (s1 ++ subs2)
      where
             tsc1 = map fst subs1
             -- tsc stands for terms of substitution component
             vsc1 = map snd subs1
             -- vsc stands for variables of substitution component
             tsc1' = applySubs subs2 tsc1
             s1 = zip tsc1' vsc1
------------------------------------------------------------------------------
comboSubs (Just subs1@(_:_)) (Just subs2@(_:_))   = Just (s1 ++ subs2)
      where
             tsc1 = map fst subs1
             -- tsc stands for terms of substitution component
             vsc1 = map snd subs1
             -- vsc stands for variables of substitution component
             tsc1' = applySubs subs2 tsc1
             s1 = zip tsc1' vsc1
------------------------------------------------------------------------------