-openDoors h = (u h) ++ (d h) ++ (l h) ++ (r h)
-
-u h = if h!!0 `elem` "bcdef" then "U" else ""
-d h = if h!!1 `elem` "bcdef" then "D" else ""
-l h = if h!!2 `elem` "bcdef" then "L" else ""
-r h = if h!!3 `elem` "bcdef" then "R" else ""
-
+openDoors h = up ++ down ++ left ++ right
+ where
+ up = if h!!0 `elem` "bcdef" then "U" else ""
+ down = if h!!1 `elem` "bcdef" then "D" else ""
+ left = if h!!2 `elem` "bcdef" then "L" else ""
+ right = if h!!3 `elem` "bcdef" then "R" else ""
+
+step :: Position -> Char -> Position