which was ReadablePropertyMap (which was not OK since pmap is also subject to change inside the function)