There's no good way to implement this correctly, because there's no way for users to know whether specific passed-in keys have been skipped due to non-existence.
For example:
let keys = [goodKey1, badKey2, badKey3, goodKey4, badKey5, goodKey6]
let data = await storage.read(keys: keys)
// data contains three values, but for which keys?