From d23a421105edf1e680f9f6f93ed1168381ff0c1d Mon Sep 17 00:00:00 2001
From: Ben Greenman <benjaminlgreenman@gmail.com>
Date: Mon, 16 Apr 2018 12:24:00 -0400
Subject: [PATCH] natural->bitstring: protect against 0 min-width argument

So this library gives a nice error, instead of blaming itself with a
huge message from `~r`
---
 main.rkt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/main.rkt b/main.rkt
index 858b821..7a2ef6c 100644
--- a/main.rkt
+++ b/main.rkt
@@ -88,7 +88,7 @@
       (-> any/c boolean?)]
 
     [natural->bitstring
-     (-> exact-nonnegative-integer? #:bits exact-nonnegative-integer? string?)]
+     (-> exact-nonnegative-integer? #:bits exact-positive-integer? string?)]
     ;; (natural->bitstring n k) converts `n` into a `k`-digit string of 1's and 0's
 
     [bitstring->natural
@@ -596,6 +596,8 @@
 
   (test-case "natural->bitstring"
     (check-apply* natural->bitstring
+     [0 #:bits 4
+      ==> "0000"]
      [2 #:bits 2
       ==> "10"]
      [2 #:bits 10