(1) fix handling of real valued lengths;
(2) normalize output of integer real valued lengths;
(3) add invalid extent (length) tests;
(4) add valid negative extent test, with warnings;