 				return 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)
 			

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

		
	}
	
	func pointReference(_ reference: CGRect.PlaneBasePoint, of referenceView: @escaping () -> UIView?, offsetBy offset: CGVector, ignoresTransform: Bool, safeAreaOnly shouldOnlyIncludeSafeArea: Bool) -> CGRect.Point {
		
		let reference = CGRect.Point.closure { [unowned self] (_) -> CGPoint in
			
