makeSegmentArray :: UInt -> SegmentArray
makeSegmentArray (W# size#) = unsafeState# $ \s# ->
  case newAlignedPinnedByteArray# (word2Int# (size# `timesWord#` 16##)) 4# s# of
        (# s'#, mba# #) -> (# s'#, SegmentArray mba# #)
makeSegmentArray :: UInt -> SegmentArray
makeSegmentArray (W# size#) = unsafeState# $ \s# ->
  case newAlignedPinnedByteArray# (word2Int# (size# `timesWord#` 16##)) 4# s# of
        (# s'#, mba# #) -> (# s'#, SegmentArray mba# #)
makeSegmentArray (W# size#) = unsafeState# $ \s# ->
  case newAlignedPinnedByteArray# (word2Int# (size# `timesWord#` 16##)) 4# s# of
        (# s'#, mba# #) -> (# s'#, SegmentArray mba# #)