Added begin/end/size functions and ensurers ranges are semiregular.