make `nonzero` an alias of `nonzero?`
for historic reasons
nonzero? returns self or nil. (according to https://bugs.ruby-lang.org/issues/9123)
I like the expectation that
method? returns true and false.
nonzero? returns only truthy/falsy values would be fine, except using its return values are useful.
value.nonzero? || calculation or
(a <=> b).nonzero? || a.subvalue <=> b.subvalue
I would feel more comfortable with
value.nonzero || calculation even though it is only one character different.
Yes, it's a small thing, but I like ruby for the small things :)