withValue, withArray and withObject