Allow non-promise values in .read and add prefetch support