Per @domenic’s API review

Fixes #484