shortened Reader and Writer to R and W, re-implemented EitherRW