make no constant expression...
add ctor for std::vector and at() to check boundary
fix back()
using arv::array_view for convenience