 		 */
 		protected function sessionStateEquals(otherSessionState:*):Boolean
 		{
-			if (_sessionStateType == null) // if no type restriction...
-			{
-				var equal:Boolean = StandardLib.compareDynamicObjects(_sessionState, otherSessionState) == 0;
-				
-				// BEGIN TEMPORARY SOLUTION
-				// special case if both are dynamic objects and pointers are equal - always assume they have been modified
-				// this is a temporary solution until detectChanges() is added
-				// (private copy of session state needs to be stored for comparison to public session state)
-				if (equal && _sessionState !== null && typeof(_sessionState) == 'object' && _sessionState === otherSessionState)
-				{
-					return false;
-				}
-				// END TEMPORARY SOLUTION
-				
-				return equal;
-			}
-			return _sessionState == otherSessionState;
+			if (_primitiveType)
+				return _sessionState == otherSessionState;
+			
+			var equal:Boolean = StandardLib.compareDynamicObjects(_sessionState, otherSessionState) == 0;
+			
+			// BEGIN TEMPORARY SOLUTION
+			// special case if both are dynamic objects and pointers are equal - always assume they have been modified
+			// this is a temporary solution until detectChanges() is added
+			// (private copy of session state needs to be stored for comparison to public session state)
+			if (equal && _sessionState !== null && typeof(_sessionState) == 'object' && _sessionState === otherSessionState)
+			{
+				return false;
+			}
+			// END TEMPORARY SOLUTION
+			
+			return equal;
 		}
 		
 		/**

		{
			// not supporting XML directly
			if (sessionStateType == _XML_CLASS)
			{
				reportError("XML is not supported directly as a session state primitive type. Using String instead.");
				_sessionStateType = String;
			}
			else if (sessionStateType != Object)
			{
				_sessionStateType = sessionStateType;
			}
			_verifier = verifier;
			
			if (!sessionStateEquals(defaultValue))

		{
			return _verifier == null || _verifier(value);
		}
		
		protected var _primitiveType:Boolean = false;

		protected var _sessionStateType:Class = null;
		public function getSessionStateType():Class
