returnBoard :: Int      -- ^ a value to insert/replace
            -> Index    -- ^ index where the value should be inserted/replaced
            -> Lotus    -- ^ the lotus puzzle
            -> Lotus    -- ^ a new lotus containing the new value
returnBoard val ind lts = take ind lts ++ [val] ++ drop (ind + 1) lts
returnBoard :: Int      -- ^ a value to insert/replace
            -> Index    -- ^ index where the value should be inserted/replaced
            -> Lotus    -- ^ the lotus puzzle
            -> Lotus
returnBoard val ind lts = take ind lts ++ [val] ++ drop (ind + 1) lts
returnBoard val ind lts = take ind lts ++ [val] ++ drop (ind + 1) lts