         }
     }
 }
+
+infix operator <! {}
+func <! (lhs: [SharedExpression], rhs: [SharedExpression]) -> [SharedExpression] {
+    /*
+    "Get Unique" operator. It helps in getting unique shared expressions from two arrays.
+    Content of `lhs` array will be checked in terms on uniqueness. The operator does
+    check is there is any shared expression in `lhs` that is presented in `rhs`.
+    If element from `lhs` is not in `rhs` then this element is correct and is returned
+    in new array which is a result of this operation.
+    */
+    var result = lhs
+    if rhs.count > 0 {
+        result = lhs.filter({
+            let tmp = $0
+            return rhs.filter({$0.identifier == tmp.identifier}).count == 0
+        })
+    }
+    return result
+}

    :param: preferedLanguageExpressions Expressions from expressions.json
    :param: baseLanguageExpressions Expressions from base section of 
            expression.json.
    
    :returns: array of shared expressions for Base and preferred language.
    */
    class func processSharedExpression(preferedLanguage: CountryCode, preferedLanguageExpressions: [SharedExpression], baseLanguageExpressions: [SharedExpression]) -> [SharedExpression] {

        To get it done we must get only unique built-in expressions that are not 
        in loaded expressions.
        */
        return loadedExpressions + (builtInExpressions <! loadedExpressions)
    }
    
    /**
