simplifyOr :: FeatureExpression -> FeatureExpression -> FeatureExpression
simplifyOr e1 e2
    | (e1 == expTrue) || (e2 == expTrue) = expTrue
    | e1 == expFalse = simplifyExpression e2
    | e2 == expFalse = simplifyExpression e1
    | otherwise = Or (simplifyExpression e1) (simplifyExpression e2)
simplifyOr :: FeatureExpression -> FeatureExpression -> FeatureExpression
simplifyOr e1 e2
    | (e1 == expTrue) || (e2 == expTrue) = expTrue
    | e1 == expFalse = simplifyExpression e2
    | e2 == expFalse = simplifyExpression e1
    | otherwise = Or (simplifyExpression e1) (simplifyExpression e2)
simplifyOr e1 e2
    | (e1 == expTrue) || (e2 == expTrue) = expTrue
    | e1 == expFalse = simplifyExpression e2
    | e2 == expFalse = simplifyExpression e1
    | otherwise = Or (simplifyExpression e1) (simplifyExpression e2)