Higher-level helper functions

Error's that "can't happen" shouldn't be tested for? (open question)