 				return CGPoint.zero + offset
 			}
 			
-			let frame = referenceView.frame(in: self, ignoresTransform: ignoresTransform)
+			let frame = referenceView.frame(in: self, ignoresTransform: ignoresTransform, safeAreaOnly: shouldOnlyIncludeSafeArea)
 			
 			let reference = reference.value(in: frame)
 			

			}()
			
			let safeAreaFrame: CGRect = {
				if shouldOnlyIncludeSafeArea {
					return checkingFrame.inside(self.safeAreaInsets)
				} else {
					return checkingFrame

		
	}
	
	func verticalReference(_ reference: CGRect.VerticalBasePoint, of referenceView: @escaping () -> UIView?, offsetBy offset: CGFloat, ignoresTransform: Bool, safeAreaOnly shouldOnlyIncludeSafeArea: Bool) -> CGRect.Float {
		
		let reference = CGRect.Float.closure { [unowned self] (_) -> CGFloat in
			
