The appropriate implementation here depends on how #345 is resolved.