Index: src/AST/Expr.cpp
===================================================================
--- src/AST/Expr.cpp	(revision f6f7b52253f062a95819b4226c6f6f95b28a2ac9)
+++ src/AST/Expr.cpp	(revision 4ac094959ef445e7672821e80f86549a5eeee50c)
@@ -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;
 }
