 			{
 				result = StandardLib.asString((object as ILinkableVariable).getSessionState());
 			}
-			else
-				result = '';
+			else
+				throw new Error('first parameter must be either an IAttributeColumn or an ILinkableVariable');
 
 			// revert to key that was set when entering the function (in case nested calls modified the static variables)
 			currentRecordKey = previousKey;
-			if (debug)
+			if (debug)
 				debugTrace('getString',column,key.localName,String(result));
-			return result;
+			return result;
 		}
 		/**
 		 * This function uses currentRecordKey when retrieving a value from a column if no key is specified.

			var result:Number = NaN;
			if (column != null)
				result = WeaveAPI.StatisticsCache.getColumnStatistics(column).getNorm(key);

			// revert to key that was set when entering the function (in case nested calls modified the static variables)
			currentRecordKey = previousKey;

		 * @param key A key to get the Number for.
		 * @return The Number corresponding to the given key, normalized to be between 0 and 1.
		 */
		[Deprecated(replacement="WeaveAPI.StatisticsCache.getColumnStatistics(column).getNorm(key)")]
		public static function getNorm(column:IAttributeColumn, key:IQualifiedKey = null):Number
		{
			// remember current key
			var previousKey:IQualifiedKey = currentRecordKey;
