unsafeGetAttrPos returns the position of the original definition (possibly before operations like set merges) of the attribute named s from attrset.

If the position couldn't be determined (for example the set was produced by builtin functions like mapAttrs), null will be returned instead, otherwise a attrset will be returned, and it has the following attributes:

This is unsafe because it allows us to distinguish sets that compare equal but are defined at different locations.