úÎÏ     Safe®SafeSafef   !" # $%&'Safe()*+,-./012345(6)789:Safe«;<=>?@ABCDEFGHI;J<KLMNSafe œpeek skeleton ptr fills the skeleton) with data read from memory beginning at ptr,. The skeleton is needed formally for using OÒ. For instance when reading a list, it is not clear, how many elements shall be read. Using the skeleton you can give this information and you also provide information that is not contained in the element type a. For example you can call peek (replicate 10 ()) ptr0for reading 10 elements from memory starting at ptr.Like  but uses P! for construction of the result. P would be in class Pointed: if that would exist. Thus we use the closest approximate Q.Safe üRSTUV         !"   !"   !"#$%#&'#&( ),storable-record-0.0.4-GYRqsHeweEa52YQclN4V5kForeign.Storable.FixedArrayForeign.Storable.NewtypeForeign.Storable.RecordForeign.Storable.Traversable"Foreign.Storable.RecordMinimalSize Foreign.Storable.RecordReaderPtr(Foreign.Storable.TraversableUnequalSizesroundUp sizeOfArraypokeNextpeekNextrunsizeOf alignmentpeekpokeAccess Dictionaryelement$fApplicativeBox $fFunctorBox$fMonoidAlignment$fSemigroupAlignment$fApplicativeAccess$fFunctorAccesspeekApplicative AlignmentdeconsAlignmentBoxpeek_poke_sizeOf_ alignment_ptrBoxbaseData.Traversable TraversableGHC.Basepure Applicative