core: s/Array/array_t/; also, use buffer_t internally