added pointed array comonad