Changes reflecting the post-merge discussion in #566.
Refactoring of eye, ones, and zeros
Kinda awesome to have PR when the rev.dep check run that called for it still has almost four hours to go!
That's a positive way of looking at it; the pessimist in me might say "my last PR was so disruptive this fix was needed ASAP".
Merge remote-tracking branch 'upstream/master'
Merge upstream changes