Nit: Place `rval` assignment inline for succinctness (and to indicate that `rval` is not being read/modified anywhere). Same for the other build methods.