     }
 }
 
-public struct RealLiteralExpression : LiteralExpression {
+public struct RealLiteralExpression : LiteralExpression, ValueExpression, RValueExpression {
     public typealias ValueType = Double
     
     public let hashValue: Int = nextHashValue()

    public let hashValue: Int = nextHashValue()
}

public protocol LiteralExpression : ValueExpression, RValueExpression {}

public struct IntLiteralExpression : LiteralExpression {
    public typealias ValueType = Int
    
    public let hashValue: Int = nextHashValue()

    }
}

public struct BoolLiteralExpression : LiteralExpression, ValueExpression, RValueExpression {
    public typealias ValueType = Bool
    
    public let hashValue: Int = nextHashValue()
