Lisp isn't a functional programming language. It's multi-paradigm.
You can statically type variables (bindings) in Common Lisp if you want:
(defun little-function (x y)
(declare (type fixnum x y))
(+ x y))
Although type checking is limited at compile time.