title: Haskell Rotate String with exeptions
body: <p>I'm new to Haskell and I'm trying to shift a character by one to the right and that the last character will always be first, and that it would return a string.</p>
  <p>For example: <code>shiftString &quot;abcd&quot; = &quot;dabc&quot;</code> but the compiler doesn't agree with me, can anybody help me fix this?</p>
  <pre><code>shiftString :: String -&gt; String
  shiftString x = take (length x) $ iterate rot1 x
          where rot1 = drop 1 x ++ take 1 x
  </code></pre>
  <p>Also, I want to check after this on two Strings and returns True if one of them is a result of applying shiftString one or more times, how can I use this to do that? as in:</p>
  <pre><code>isShifted :: String -&gt; String -&gt; Bool
  </code></pre>