using System;

namespace DevTyr.Gullap
{
	public static class Guard
	{
		public static void NotNull (object obj, string argumentName)
		{
			if (obj == null)
				throw new ArgumentNullException(argumentName);
		}

		public static void NotNullOrEmpty (object obj, string argumentName)
		{
			NotNull (obj, argumentName);
		    
            if (!(obj is String)) return;

		    var val = (String)obj;
		    if (string.IsNullOrWhiteSpace(val))
		        throw new ArgumentException(argumentName);
		}
	}
}


using System;

namespace DevTyr.Gullap
{
	public static class Guard
	{
		public static void NotNull (object obj, string argumentName)
		{
			if (obj == null)
				throw new ArgumentNullException(argumentName);
		}

		public static void NotNullOrEmpty (string obj, string argumentName)
		{
			NotNull (obj, argumentName);

		    if (string.IsNullOrWhiteSpace(obj))
		        throw new ArgumentException(argumentName);
		}
	}
}

Change type signature of NotNullOrEmpty to string since it's only used for strings.
Change type signature of NotNullOrEmpty to string since it's only used for strings.
