std: remove an unnecessary copy from workcache
syntax: convert a couple attr fns to take &[...]
core: convert vec::{head,head_opt,tail,tailn,init,last,last_opt} to return references