Bug fix for lvalue
Value source tracking for expressions
Small bug fix to diagram construct