Rename type parameter 'm (mutable) to 'p (permission)