use more Role type instead of Bool
move getHandshakeDigest in HandshakeM
move processServerHello in Handshake
remove commented import
create pure function with explicit parameter for computeDigest
remove the need to pass the RNG in record engage.
move random gen back into state
Separate tx/rx state from a single RecordState

unroll a reader/state/error monad into a single simple monad,
and move back version and client context in state.
add a very simple test bench for basic ballpark measurements