Break compat with upstream

Do not return undef on invalid phones. Instead, throw an exception.
Use `confess` instead of `die`
Write docs