         shots (->> shots
                    (map handle-damage)
                    flatten
-                   (filter (comp not nil?)))
+                   (remove nil?))
         asteroids (->> asteroids
                        (map handle-damage)
                        flatten
-                       (filter (comp not nil?)))]
+                       (remove nil?))]
     [(assoc ship :shots shots) asteroids]))
 
 (defn win? [asteroids]

    (paint-method g polygon color)
    (paint-method g cockpit-polygon cockpit-color)))

(defmethod paint :other [g {:keys [shape color paint-method] :as object}]
  (let [transformation (get-transformation-matrix object point-size)
        polygon (polygon-to-screen shape transformation)]
    (paint-method g polygon color)))

      :paint-method   draw-polygon

      :position       position
      :velocity       velocity
      :acceleration   0

      :direction      direction
