     }
     
     func setupField(incoming:Field) -> Field {
-        var field   = incoming
+        let field   = incoming
         field.form  = self
         
         if let _self = self as? FormFieldDefaults {

    func getFieldName(field:Field) -> String {
        if let f = field as? NSObject {
            
            for (name, field) in properties() {
                guard let prop = valueForKey(name) else {
                    continue
                }

    
    /// List of form's fields.
    public var fields:[Field] {
        var clean:[Field]   = []

        var token:dispatch_once_t = 0
        dispatch_once(&token) {
            let dirty           = self.order()
            for index in 0 ..< dirty.count {
                let current = self.setupField(dirty[index])
                
                let previous    = index - 1
                let next        = index + 1
                
                if previous > -1 {
                    current.previous = self.setupField(dirty[previous])
                }
                
                if next < dirty.count {
                    current.next = self.setupField(dirty[next])
                }
                
                clean.append(current)
            }
        }
    
        return clean
    }
    
