 	
 	associatedtype WillSetHorizontalInsetsType: LayoutMakerPropertyType
 	
-	func storeHorizontalInsets(_ horizontalInsets: LayoutElement.Insets, to maker: LayoutMaker<Self>) -> LayoutMaker<WillSetHorizontalInsetsType>
+	func storeHorizontalInsets(_ horizontalInsets: LayoutElement.Insets) -> WillSetHorizontalInsetsType
+	
+}
+
+private extension LayoutMaker where Property: LayoutPropertyCanStoreHorizontalInsetsType {
+	
+	func storeHorizontalInsets(_ horizontalInsets: LayoutElement.Insets) -> LayoutMaker<Property.WillSetHorizontalInsetsType> {
+		
+		let newProperty = self.didSetProperty.storeHorizontalInsets(horizontalInsets)
+		let newMaker = self.changintProperty(to: newProperty)
+		
+		return newMaker
+		
+	}
 	
 }
 


extension LayoutPropertyCanStoreHorizontalInsetsToEvaluateFramesType {
	
	public func storeHorizontalInsets(_ horizontalInsets: LayoutElement.Insets, to maker: LayoutMaker<Self>) -> LayoutMaker<SequentialLayout> {
		
		let layout = SequentialLayout(frame: { (parameters) -> [Rect] in
			return self.evaluateFrames(horizontalInsets: horizontalInsets, parameters: parameters)
		})
		let maker = LayoutMaker(parentView: maker.parentView, didSetProperty: layout)
		
		return maker
		
	}
	

	public func setHorizontalInsetsEqualingToMargin() -> LayoutMaker<Property.WillSetHorizontalInsetsType> {
		
		let insets = LayoutElement.Insets.equalsToMargin
		let maker = self.storeHorizontalInsets(insets)
		
		return maker
		
