Trimming suggested by bulk88 (croak after New, move memset to just the needed branch)