Sorry this was a dumb question JS does not like when you construct objects with the same name as the object you are constructing.
so I was doing
spoon spoon;
setup(){
spoon = new spoon();
}
I still wonder why you can construct the object out side of the draw setup functions.
Why can you call ...
spoon spoon = new spoon();
...out side of the draw setup functions and not have the namespace collision you do with the first bit of code?