Nice, I'm glad he kept the Error serialization, though I did have two issues (pull requests made)
1) shorten to return new Date(obj); will clone the date.
2) don't return early from error object, some frameworks extend the error instance with things like exit codes, etc.
(note, I wrote the tracker1/safe-clone-deep author mentioned)