module Tins::Rotate

def rotate(n = 1)

def rotate(n = 1)
  clone.rotate!(n)
end

def rotate!(n = 1)

def rotate!(n = 1)
  if n >= 0
    n.times { push shift }
  else
    (-n).times { unshift pop }
  end
  self
end