As it stands we just return `Err(())` in a lot of places. We should replace all those with more informative errors. See discussion in #2976, there's also a lot of related discussion lost to public slack history.