                    type
                    (pop-item lit-type (pop-item lit-type (pop-item type state))))))))
 
-(define-registered vector_integer_replacefirst (replacefirster :vector_integer :integer))
-(define-registered vector_float_replacefirst (replacefirster :vector_float :float))
-(define-registered vector_boolean_replacefirst (replacefirster :vector_boolean :boolean))
-(define-registered vector_string_replacefirst (replacefirster :vector_string :string))
+(define-registered vector_integer_replacefirst (with-meta (replacefirster :vector_integer :integer) {:stack-types [:vector_integer :integer]}))
+(define-registered vector_float_replacefirst (with-meta (replacefirster :vector_float :float) {:stack-types [:vector_float :float]}))
+(define-registered vector_boolean_replacefirst (with-meta (replacefirster :vector_boolean :boolean) {:stack-types [:vector_boolean :boolean]}))
+(define-registered vector_string_replacefirst (with-meta (replacefirster :vector_string :string) {:stack-types [:vector_string :string]}))
 
 (defn removeer
   "Returns a function that takes a state and removes all occurrences of the first lit-type item

                 (pop-item type state))
      state)))

(define-registered vector_integer_emptyvector (emptyvectorer :vector_integer))
(define-registered vector_float_emptyvector (emptyvectorer :vector_float))
(define-registered vector_boolean_emptyvector (emptyvectorer :vector_boolean))
(define-registered vector_string_emptyvector (emptyvectorer :vector_string))

(defn containser
  "Returns a function that takes a state and tells whether the top lit-type item

                 (pop-item type state))
      state)))

(define-registered vector_integer_first (with-meta (firster :vector_integer :integer) {:stack-types [:vector_integer :integer]}))
(define-registered vector_float_first (with-meta (firster :vector_float :float) {:stack-types [:vector_float :float]}))
(define-registered vector_boolean_first (with-meta (firster :vector_boolean :boolean) {:stack-types [:vector_boolean :boolean]}))
(define-registered vector_string_first (with-meta (firster :vector_string :string) {:stack-types [:vector_string :string]}))

(defn laster
  "Returns a function that takes a state and gets the last item from the type stack."
