Oddly missing core functions

MSSQL is terrible for lacking some seemingly straightforward functionality- like the ability to drop a table only if it exists and has no rows. Salt to taste:

-- TODO: accept an array of tables, check all of them for existence and zero rows, then perform drop
CREATE PROCEDURE DropTableIfEmpty(@t as nvarchar(max))
AS
BEGIN
  SELECT @t = QUOTENAME(@t)
  DECLARE @q NVARCHAR(max)
  IF OBJECT_ID(@t, 'U') IS NOT NULL AND EXISTS(
      SELECT DISTINCT row_count
        FROM sys.dm_db_partition_stats
        WHERE Object_Name(Object_Id) = @t AND row_count = 0
    )
  BEGIN
    SELECT @q= N'DROP TABLE' + @t
    EXEC sp_executesql @q
  END
END

To use: EXEC DropTableIfEmpty 'yourTableName'