loc_before (Loc ll) = Loc $ loc_before_ ll
    where
        loc_before_ (l:[]) | l>0 = [l-1]
        loc_before_ (l:ll) = l:(loc_before_ ll)
loc_before (Loc ll) = Loc $ loc_before_ ll
    where
        loc_before_ (l:[]) | l>0 = [l-1]
        loc_before_ (l:ll) = l:(loc_before_ ll)
loc_before (Loc ll) = Loc $ loc_before_ ll
    where
        loc_before_ (l:[]) | l>0 = [l-1]
        loc_before_ (l:ll) = l:(loc_before_ ll)