Reversing and Shifting Sandbox

Adapted from exercise 8 of 100 little Keg exercises

String manipulation is a very important part of any programming language. Consequently, that is what this challenge is about.

The Challenge

I want you to write a program that:


Takes a series of characters as input and,
Then takes another input (integer/letter) (we'll call this instruction) and,
Takes a single integer (we'll call this times) as the last input and then,
If instruction is equal to the letter R:


Reverse the string times times.

Otherwise, if instruction is equal to the letter l:


Shift the string left times times

Otherwise, for all other values of instruction:


Shift the string right times times



Test Cases

String, Instruction, Times -&gt; Output
"Howdy!", R, 1 -&gt; "!ydwoH"
"elloH", r, 1 -&gt; "Hello"
"tedShif", l, 3 -&gt; "Shifted"
"sn't it?Amazing, i", l, 8 -&gt; "Amazing, isn't it?"


Rules


Input can be taken as any convenient format... if a list of three items works best for you, take the input as a list. If newline-separated input is how you choose to work, go ahead and use newline-separated input.
The string, instruction and times integer can be taken in any order
Output is also to be given in any convenient format.
The input string will not contain newlines, nor unprintable ascii characters.
You can substitute R and l for any other two characters, as long as you specify what the two characters are
All instructions are case sensitive. In other words, only input of R should reverse the string, not r.
The magnitude of a shift will always be less than the length of the string
The times integer is a positive integer (i.e. \$ n &gt; 0 \$)


Scoring

This is code-golf, so the answer with the fewest bytes wins.
Python 3.8 (pre-release), 65 bytes



lambda s,i,t:[s[(n:=[-t,t][i=='l']):]+s[:n],s[::(-1)**t]][i=='R']


Try it online!

Abuses the de-facto ternary statement [a,b][condition].


If i=='R':


Return the string, read with step (-1)**t. This is -1 (reversed) for odd t and 1 (not reversed) for even t.

Else:


Let n be [-t,t][i=='l']. This is t when left-shifting and -t otherwise (right-shifting).
Return the string, spliced accordingly: s[n:] + s[:n]. Thanks to Python's negative indexing, this works like a charm for both cases.