Index: src/AST/Expr.cpp
===================================================================
--- src/AST/Expr.cpp	(revision d96f7c4f1e2b7dfb521e83969e9704b7e12505da)
+++ src/AST/Expr.cpp	(revision 1cc5c6ad3eddc42bd30039e07b17b59bafd8a5e5)
@@ -122,6 +122,9 @@
 
 bool VariableExpr::get_lvalue() const {
-	// It isn't always an lvalue, but it is never an rvalue.
+	// Special case for enumeration labels (more literals than variables):
 	if(dynamic_cast<const ast::EnumInstType *>(var->get_type())) return !var->isMember;
+	// The remaining uses are either actual variables (lvalues) or function
+	// names which are a special value catagory that can be treated as
+	// lvalues in the places we are worried about.
 	return true;
 }
