This seems like a failure... shouldn't we `return -1`?