defpat a version of define for defining functions with match-patterns as arguments documentation: http://docs.racket-lang.org/defpat-main/index.html see also generic-bind