Added read only view of shared
Added Functor[Reader] + Reader.map