initStack :: [Point] -> Range -> Range -> Point -> Bool -> Int -> All -> All
initStack srcContours right_slice slice start_pt le_eps count (All dstC stck)
        | le_eps == True = All (writePt [] start_pt) []
        | otherwise       = All [] (pushingInStack mixingFunctions)
        where
                mixingFunctions = listfy (mixTwoFunctions right_slice slice (fromJust (elemIndex start_pt srcContours)) count)
initStack :: [Point] -> Range -> Range -> Point -> Bool -> Int -> All -> All
initStack srcContours right_slice slice start_pt le_eps count (All dstC stck)
        | le_eps == True = All (writePt [] start_pt) []
        | otherwise       = All [] (pushingInStack mixingFunctions)
        where
                mixingFunctions = listfy (mixTwoFunctions right_slice slice (fromJust (elemIndex start_pt srcContours)) count)
initStack srcContours right_slice slice start_pt le_eps count (All dstC stck)
        | le_eps == True = All (writePt [] start_pt) []
        | otherwise       = All [] (pushingInStack mixingFunctions)
        where
                mixingFunctions = listfy (mixTwoFunctions right_slice slice (fromJust (elemIndex start_pt srcContours)) count)