     end
     turns into:
     def motif("melody") do
-      my_motif = []
-      my_motif = my_motif ++ ["play # { get(:pitch) }, duration: 4"]
-      my_motif #return value
+      var!(my_motif) = []
+      var!(my_motif) = var!(my_motif) ++ ["play # { get(:pitch) }, duration: 4"]
+      var!(my_motif) #return value
     end
     We need it to be a lambda so that
   """

  """
  defmacro play_synth(pitch,duration) do
    quote do
      my_motif = my_motif ++ [SP.play_synth(unquote(pitch), unquote(duration))]
      my_motif = my_motif ++ [SP.sleep(unquote(duration))]
    end
  end
  defmacro rest(duration) do
    quote do
      my_motif = my_motif ++ [SP.sleep(unquote(duration))]
    end
  end
  @doc """

  """
  defmacro wait_for(music_event) do
    quote do
      var!(my_motif) = var!(my_motif) ++ [SP.sync(unquote(music_event))]
    end
  end
  @doc """
