Check foo is choosy in "choose foo = etc"
diff --git a/lang/check/type.go b/lang/check/type.go
index ff596f6..5643326 100644
--- a/lang/check/type.go
+++ b/lang/check/type.go
@@ -1145,6 +1145,8 @@
 	f := q.c.funcs[fQQID]
 	if f == nil {
 		return fmt.Errorf("check: no function named %q", fQQID.Str(q.tm))
+	} else if !f.Choosy() {
+		return fmt.Errorf("check: choose assignee %q is not choosy", fQQID[2].Str(q.tm))
 	}
 	for _, o := range n.Args() {
 		o := o.AsExpr()