Apparently this is the 'correct' way to do shift and rotate operations in VHDL, both for testbench simulation and if you were going to throw these functions into a behavioural architecture description of your circuit.