take_until (s:t, n)
        | s == n = []
        | otherwise = s:take_until(t, n)
take_until (s:t, n)
        | s == n = []
        | otherwise = s:take_until(t, n)
take_until (s:t, n)
        | s == n = []
        | otherwise = s:take_until(t, n)