         }
     }
     
-    /// Font for the index view items. If not set or set to nil, uses a default font which is chosen to
+    /// Font for the index view items. If not set, uses a default font which is chosen to
     /// match system appearance.
-    public var font: UIFont! {
+    /// Use resetFont to fall back to default font.
+    public var font: UIFont {
         get { return style.font }
         set { style = style.copy(applying: newValue) }
     }
     
     /// Vertical spacing between the items. Equals to 1 point by default to match system appearance.
-    public var itemSpacing: CGFloat! {
+    /// Use resetItemSpacing to fall back to default spacing.
+    public var itemSpacing: CGFloat {
         get { return style.itemSpacing }
         set { style = style.copy(applying: newValue) }
     }

    /// content size.
    /// Set inset value to CGFloat.max to make the background view fill all the available space.
    /// Default value matches the system index appearance.
    /// Left and right values are flipped when using right-to-left user interface direction.
    public var indexInset: UIEdgeInsets! {
        get { return style.indexInset }
        set { style = style.copy(applying: newValue) }
    }

    /// for which index items are shifted inside it.
    /// The property only affects the position of the index items and doesn't change the size of the background view.
    /// Default value matches the system index appearance.
    /// Use resetIndexOffset to fall back to default offset.
    public var indexOffset: UIOffset {
        get { return style.indexOffset }
        set { style = style.copy(applying: newValue) }
    }
