Added function definition macros to keep it more dry
Added not
Added cons for vector
Added rest for vector
Added empty for vector
Added first function